Error in Posting of Foreign Currency Customers

I am trying to post fAmounts for foreign currency customers but i keep having the error below:

The transaction cannot be completed because it will cause inconsistencies in the G/L Entry table. Check where and how the CONSISTENT Function is used in the transaction to find the reason for the error.
Contact your systems manager if you need assistance.
Parts of the program mark tables as inconsistent during very comprehensive tasks, such as posting. this prevents data from being updated incorrectly.

I go to Periodic Activities->Finance Charge Memos. under Issuing bottons i click on issue finance charge Memo and say OK. It gives the above error.
How can i solve this? can someone help me please.

The answer is already in the error message:

I’m just kidding.

Can you kindly tell us the Navision version you are actually running (including the localisation, if any). Errors about inconsistencies are not nice at all. More than 90% are related to localised versions. We hope to hear from you.

I am using Navision 4.0 and located in The Gambi, West Africa.


Are you an end-user or a VAR?

The GL Constistancy error is normally generated after a modification some where.

I know this because I’ve made it happen a few times.

The following is an extract from the help file on the consistent function :

Normally this function is only used for accounting routines. If your accounts do not balance, the accounts are inconsistent. This function makes sure inconsistent changes are not made in your accounts.

If an attempt is made to commit a write transaction when a table is marked as inconsistent, the system displays a message and all updates made in the write transaction are aborted.


A typical example of an inconsistency occurs when the sum of all the entries in a table containing general ledger entries does not balance (is not equal to zero).

Imagine that your application includes a function object called ChangeAmount. This function is used to withdraw amounts that were put into the General Ledger Entry table in your application. When an amount is withdrawn from an account, the system is inconsistent until a corresponding amount is put in. The pseudo-code below illustrates the ChangeAmount function:

FUNCTION ChangeAmount(DecimalNo.: Amount) BEGIN
GLEntry.“G/L Account No.” := ‘1000’;
GLEntry.Amount := Amount;
Balance := Balance + Amount;
IF Balance = 0 THEN
Consistent := TRUE
Consistent := FALSE;

The function uses the variable Balance to express the change in balance. For example, when the function is used to withdraw $100, the Balance variable will reflect this as -$100.

When you use the function to put in one or more amounts whose total equals +$100, the Balance variable then equals zero and the table is marked as consistent. This means that if an attempt is made to put in an amount and end the write transaction (commit the change) without withdrawing a corresponding amount, an error occurs and the system cancels the write transaction.

The problem here is when i use the same normal routine of posting local currency amounts, it works finewith all the interest calculation correct. But for foreign currency i have the above error.


Can you let us know if you are the VAR or the End User?


I am the VAR customizing for cilents

It could be maybe solved with a hotfix, I say it because I had a consistancy error last month when an invoice couldn’t be settled with a payment. That’s my small contribution :expressionless:

Whats the hotfix for this

Ohh sorry newcommer, I don’t say it exists a hotfix for this problem, I said I had a similar problem just not to centrate the problem on functionality as we did, because we lost 10 days checking invoices an other entries when it really was a NAV affair.

I know nothing about your question, sorry… :frowning:

Which kind of customization? I once made a customized form to enter and post bank transfers. It had a function which populated table 81 with the collected bank transfers and called the standard posting routines. All went fine with local currency transactions, but when a foreign currency was involved a consistence error might occur. It was obviously my fault - I had calculated the amounts without applying the proper rounding.

The consistency control is actually for cases like that, which would cause an imbalance in the accounts.

I did not customized this functionality. It a standard functionality. Anna can you please explain in step form how i could fix this inconsistanc?


Difficult to say - unfortunately the error cause might be starting from faraway. You said the error occurs when posting invoices with a foreing currency. How are those invoices entered and evaluated? Is there any customization in the way sales documents are created and sales prices are assigned. Are you sure nobody altered codeunit 80?

Did you check where in the process the consistence function is called? Did you trace the code while running the post? I cannot give you a ready solution, only some suggestions about where to look.

It would be highly unusual for this to be caused by standard code, though not completly impossible.

My recommendation to you is to do what it says in the error message.

Turn the debuuger on, turn the break on trigger points off, wait for the error then work back through the execution stack till you find where this call is being made, and see what the other side of the transaaction is. That should help you identify where the error is.



do you have a “payment method code” on the invoice having a balancing account “bank” in “ACY”


Thanks i will look into your suggestions.