Skip to content
Voiding a foreign-currency document, and reading the residue it leaves — transcript

Voiding a foreign-currency document, and reading the residue it leaves — transcript

Presentation 4 of 4 in Foreign currency: the twin document, the rate, and where the difference lands · about 12 minutes · for the whole-system operator — you run the books.

Play this as a presentation — one slide per step, with the same narration. Every word of every step is on this page.

This presentation is for whoever has voided a foreign-currency invoice and found the customer’s balance still wrong afterwards. In about twelve minutes you will know exactly which parts of it were undone, which were not, and what to do about the rest.

Step 1 — Follow the void to where it actually goes

After this step you will know the one rule that explains everything else on this page. When you void a foreign-currency document, BigLedger marks the twin voided too, copies your void reason onto it, and then sends the whole void fan-out — the journal reversal, the stock negation, the cash book deletion, all of it — against the twin, not against the document you pressed the button on. That is right, because the twin is what posted. It also means that anything attached to the original rather than to the twin is simply not in scope, and nothing will tell you so.

Reference: What a Void Undoes

Step 2 — See what that leaves standing

After this step you will know where the residue comes from. Your knock-offs are on the original: that is the document with a number, the one that appears in the Contra tab, the one anybody would pick. The void’s contra processor looks only for settlements attached to the document it was handed, which is the twin, and finds none. So the settlement survives the invoice being voided, and so does the realised exchange difference that settlement wrote into the ledger. The removal of the historical aging snapshots is aimed at the twin as well, and twins are excluded from those snapshots in the first place, so the original’s old months stay exactly as they were.

Reference: The aging still shows an invoice that’s already paid

Step 3 — Do it in the right order instead

After this step you will not create the residue in the first place. Delete the knock-offs first, from the Contra tab of the receipt or payment voucher, one pair at a time. That deletes the pair, re-sums both documents’ balances inside the request and removes the exchange-difference journal that belonged to it. Only then void the document. Doing it in that order leaves nothing behind, and it takes no longer. Doing it the other way round leaves a settled, voided invoice and a gain in a closed month, and the only route back is to delete the contras afterwards and check the ledger by hand.

Screen: the Contra tab of the receipt voucher, the settlement row selected, the delete action above the grid

Reference: I knocked it off and the outstanding balance hasn’t changed

Step 4 — Stop reaching for Undo to Draft

After this step you will use the right button. Undo to Draft does not touch the twin at all. The twin stays finalised with everything it posted intact, the original goes back to draft still pointing at it, and the link between them is never cleared by anything, anywhere in the product. The next time somebody finalises that document they get an error saying it has already been converted to a shadow, and no amount of retrying will change it. For a foreign-currency document there is one route back and it is void and re-raise. Say that out loud to whoever handles corrections, because the error message does not explain itself.

Reference: Forex Applet

Step 5 — Do not wait for the cross-currency feature

After this step you will not plan around something that has never run. There is a second, newer mechanism in BigLedger for settling an invoice in one currency with a receipt in another — a shadow settlement pair, with its own table, present on every tenant database. It has no rows on any of them. The two fields that reach it are written by no screen in any BigLedger applet, only by an integration that knows to send them. So if somebody tells you that paying a dollar invoice in ringgit is handled automatically, it is not, today. What you have is the twin and the realised difference at settlement, and they are enough if you use them deliberately.

Step 6 — Work the residue in this order

After this step you will have a checklist rather than a hunt. First, open the voided document and read its own balance: if it is not zero, a settlement is still attached and that is your answer. Second, open the Contra tab and delete whatever is there, which re-sums both sides as it goes. Third, look in the ledger for a gain or loss dated in the invoice’s month and check it against the settlement you just removed. Fourth, only if the customer’s total is still wrong, look for the twin and confirm it is voided. And write down what you found — this sequence is the same every time, and it is worth being the team’s habit rather than one person’s knowledge.

Check yourself

Three to five questions on what you just heard. Every correct answer links to the page that makes it correct, so you can check the source, not just the mark.

1. You void a foreign-currency invoice. Where does the void fan-out run?


2. What survives that void?


3. What is the right order?


4. Why is Undo to Draft not a route back for a foreign-currency document?


5. Can you settle a dollar invoice with a ringgit receipt from a screen today?


Answer key
  1. Against its base-currency twin, which is what posted in the first placeWhat a Void Undoes — And one document class where the void lands somewhere else entirely
  2. The settlements attached to the original document, and the exchange-difference journal one of them wroteWhat a Void Undoes — And one document class where the void lands somewhere else entirely
  3. Delete the knock-offs from the Contra tab first, then voidI knocked it off and the outstanding balance hasn't changed — Contra is a mirrored pair, not an entry
  4. The twin stays finalised and the link to it is never cleared, so re-finalising is refused as already convertedForex Applet — Troubleshooting
  5. No — the mechanism for it exists in the schema on every tenant, no applet screen writes the fields that reach it, and it holds no rows anywhereForex Applet — Lifecycle and effects
This is a self-check. Your answers are marked in your browser and stay there — nothing is sent anywhere, nothing is recorded, and the marking is readable in the page source, so it is not a credential. Open the answer key at any time.

Back to the series · Play this as a presentation

Last updated on