Prepayment invoice Error : Currency Code " does not exist
cyuwono
Member Posts: 28
Hi There,
I am having a hard time to post an invoice that has prepayment invoice on it. Every time i tried to post the invoice , it says that "Currency Code " does not exist" . After that I tested posting an order that does not have prepayment invoice attached to it, the posting process went successfully without any problem.
I tried to debug the program and i found that when RealizeGainLoss(GenJnlLine,SalesLine) is calling Currency.GET(SalesLine."Currency Code"); that where I got the error.
I also searched, the error message, on google and I found this http://dynamicsuser.net/forums/p/32722/196025.aspx and I double check my LCY Code and it says CAD and also there is no CAD currency code in the currency table. does anyone know the answer/fix for this issue ?
Thank you !
Carlos
Codeunit 80 Sales-Post\PrepayRealizeGainLoss(SalesLine)
RealizeGainLoss(GenJnlLine,SalesLine)
I am having a hard time to post an invoice that has prepayment invoice on it. Every time i tried to post the invoice , it says that "Currency Code " does not exist" . After that I tested posting an order that does not have prepayment invoice attached to it, the posting process went successfully without any problem.
I tried to debug the program and i found that when RealizeGainLoss(GenJnlLine,SalesLine) is calling Currency.GET(SalesLine."Currency Code"); that where I got the error.
I also searched, the error message, on google and I found this http://dynamicsuser.net/forums/p/32722/196025.aspx and I double check my LCY Code and it says CAD and also there is no CAD currency code in the currency table. does anyone know the answer/fix for this issue ?
Thank you !
Carlos
Codeunit 442 Sales-Post Prepayments\RealizeGainLoss(GenJnlLine,SalesLine) Codeunit 80 Sales-Post\PrepayRealizeGainLoss(SalesLine) Codeunit 80 Sales-Post\OnRun() Codeunit 81 Sales-Post (Yes/No)\Code() Codeunit 81 Sales-Post (Yes/No)\OnRun() Form 42 Sales Order\<Control75> - OnPush()
Codeunit 80 Sales-Post\PrepayRealizeGainLoss(SalesLine)
...
IF SalesLine.FINDSET THEN
REPEAT
IF SalesLine."Purch. Order Line No." <> 0 THEN
UpdateAssocLines(SalesLine);
IF (SalesLine."Prepayment %" <> 0) THEN BEGIN
IF "Currency Code" <> '' THEN BEGIN
TempPrePayDeductLCYSalesLine := SalesLine;
IF TempPrePayDeductLCYSalesLine.FIND THEN
SalesLine."Prepmt. Amount Inv. (LCY)" := SalesLine."Prepmt. Amount Inv. (LCY)" -
TempPrePayDeductLCYSalesLine."Prepmt. Amount Inv. (LCY)";
END ELSE
SalesLine."Prepmt. Amount Inv. (LCY)" := SalesLine."Prepmt. Amount Inv. (LCY)" - SalesLine."Prepmt Amt to Deduct";
PrepayRealizeGainLoss(SalesLine); <<<<<< ERROR ERROR ERROR ERROR
END;
...
RealizeGainLoss(GenJnlLine,SalesLine)
IF (SalesLine."Gen. Bus. Posting Group" <> GenPostingSetup."Gen. Bus. Posting Group") OR
(SalesLine."Gen. Prod. Posting Group" <> GenPostingSetup."Gen. Prod. Posting Group")
THEN
GenPostingSetup.GET(SalesLine."Gen. Bus. Posting Group",SalesLine."Gen. Prod. Posting Group");
GenPostingSetup.TESTFIELD("Sales Prepayments Account");
GenJnlLine."Account Type" := GenJnlLine."Account Type"::"G/L Account";
GenJnlLine."Account No." := GenPostingSetup."Sales Prepayments Account";
GenJnlLine."System-Created Entry" := TRUE;
GenJnlLine.Amount := SalesLine."Prepmt. Amount Inv. (LCY)";
Currency.GET(SalesLine."Currency Code"); <<<<<< ERROR ERROR ERROR ERROR
....
Carlos Yuwono
0
Comments
-
There are many bugs related to Prepayment Invoices that are KB articles on Partnersource. I've gotten this error when either the prepayment % or prepayment amount have been changed after a prepayment invoice is generated. Those are the first places I would look.0
-
I found related article (KB939303) regarding prepayments (NA version)
https://mbs2.microsoft.com/Knowledgebase/KBDisplay.aspx?WTNTZSMNWUKNTMMYLSVQUSPTNTNSMQPYQOZUVZRWVUZWNXQQNULVKUNWVYSVVNNL
Not sure if MS fixed this problem on 2009 R2 version.Carlos Yuwono0 -
Check all amounts in all lines especially Prepmt. Amt. Inv. Excl. VAT. Most sure you'll find one amount which contains double the expected amount or something like -0.01 or 0.01. Adjust this amount to the line amount excl. VAT and posting should work withot any side issues. I'v experienced invoice rounding making the problem even worse meaning more likely.
I know, this isn't a solution of the underlying problem but at least you'll be able to post the document. The one official KB i once applied was no help to it.0 -
I tried following KB979109
Error message when you try to invoice a sales order in Microsoft Dynamics NAV 2009 Service Pack 1: "Currency Code '' does not exist"
http://support.microsoft.com/kb/979109
It didn't help my problem with posting the invoice. I was going to try to reopen the invoice and validate the quantities but couldnn't do that cause all the lines have been delivered.Hello IT, have you tried to turn it off and on?
Have you checked the cables?
Have you released the filters?
http://www.navfreak.com0 -
This problem is now solved after contact with Microsoft. And the solution is what Betrachter84 wrote.
First they gave me the following suggestionOn the other side, I ever had a similar Support Request with the same error message, which was not solved by KB 979109.
I would suggest to try the following (this is the code of the last W1 build of Dynamics 2009 SP1/ R2).
Table 37 – trigger “CalcPrepaymentToDeduct”
Old code:
=======
IF (Quantity - "Quantity Invoiced") <> 0 THEN BEGIN
GetSalesHeader;
IF SalesHeader."Prices Including VAT" THEN
"Prepmt Amt to Deduct" :=
ROUND(
ROUND(
ROUND(
ROUND("Unit Price" * "Qty. to Invoice",Currency."Amount Rounding Precision") *
(1 - ("Line Discount %" / 100)),Currency."Amount Rounding Precision") *
("Prepayment %" / 100) / (1 + ("VAT %" / 100)),Currency."Amount Rounding Precision") *
(1 + ("VAT %" / 100)),Currency."Amount Rounding Precision")
ELSE
"Prepmt Amt to Deduct" :=
ROUND(
ROUND(
ROUND("Unit Price" * "Qty. to Invoice",Currency."Amount Rounding Precision") *
(1 - ("Line Discount %" / 100)),Currency."Amount Rounding Precision") *
"Prepayment %" / 100 ,Currency."Amount Rounding Precision")
END ELSE
"Prepmt Amt to Deduct" := 0
New code:
=========
IF ("Qty. to Invoice" <> 0) AND ("Prepmt. Amt. Inv." <> 0) THEN BEGIN
GetSalesHeader;
"Prepmt Amt to Deduct" :=
ROUND(
("Prepmt. Amt. Inv." - "Prepmt Amt Deducted") *
"Qty. to Invoice" / (Quantity - "Quantity Invoiced"),Currency."Amount Rounding Precision")
END ELSE
"Prepmt Amt to Deduct" := 0
Aparently this didn't solve the issue either but will together with KB 979109 solve so this won't happen again. What I needed to do was to solve this occurence.
After further investigating I discovered following on the salesorder:
SalesLine3
Prepmt. Line Amount 29
Prepmt. Amt. Inv. 29
Prepmt. Amt. Incl. VAT 35,67
Prepmt. Amount Inv. Incl. VAT 35,67
Prepmt. Amount Inv. (LCY) -0,01
SalesLine2
Prepmt. Line Amount 2,46
Prepmt. Amt. Inv. 2,46
Prepmt. Amt. Incl. VAT 3,03
Prepmt. Amount Inv. Incl. VAT 3,03
Prepmt. Amount Inv. (LCY) 2,46
SalesLine1
Prepmt. Line Amount 1 217,04
Prepmt. Amt. Inv. 1 217,04
Prepmt. Amt. Incl. VAT 1 496,96
Prepmt. Amount Inv. Incl. VAT 1 496,96
Prepmt. Amount Inv. (LCY) 1 217,04
It seems like the reason to why Prepmt. Amount Inv. (LCY) = -0,01 on salesline3 is because somewhere it did a missmatch agains the lines on the prepayment invoice were the value 0,01 comes from the invoice rounding.
What I did to solve it was to change Prepmt. Amount Inv. (LCY) = Prepmt. Amt. Inv. on the on salesline3 and post it.Hello IT, have you tried to turn it off and on?
Have you checked the cables?
Have you released the filters?
http://www.navfreak.com0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 322 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions
