In March, a 20-person export team shipped €412,000 worth of goods to 14 countries. In April, their finance lead found €9,300 of that revenue had quietly evaporated. Not lost in transit. Lost in the gap between the price they quoted, the rate they booked, and the rate the bank actually gave them.
Nobody stole anything. The money leaked through four handoffs where a number got typed into a spreadsheet instead of a system.
The leak is in three places, not thirty
When I audit export operations, I expect to find the same three gaps. First, the sales order is priced at the rate on quote day, which may be 3 weeks before the invoice. Second, the invoice is raised at the rate on shipping day. Third, the bank credits the account at the rate on settlement day, which can be 45 days later.
Each of those is defensible on its own. Together they create a gap nobody owns. The salesperson thinks finance handles it. Finance thinks sales quoted it correctly. The controller sees a foreign exchange line at month end and assumes it is normal.
Add supplier payments in the same currencies and the gap doubles. One team was paying a European supplier in euros while collecting from a customer in euros, but never matching the two, so they bought euros at retail rates while sitting on euros they already owned.
The routine that replaced a two-day scramble
We did not start with hedging. Hedging is the last step and it requires clean data. We started with visibility, and the whole routine takes about 30 minutes a month once set up:
- Every sales order carries the quote rate and the order date, so the gap from quote to invoice is visible per order, not buried in a total.
- Customer receipts get matched to the specific invoice and the specific bank line, so the settlement difference is recorded per transaction instead of in a lump.
- A single currency position report shows, by currency, what is owed to you, what you owe, and the net exposure on any given day.
- Payments to suppliers in a currency are made from that currency balance first, before buying new currency.
Within four months this team found €11,000 a month that was previously invisible, mostly through netting payables against receivables in the same currency. Most currency losses are not market losses. They are matching losses.
What to set up before you touch automation
The configuration work is straightforward once the rules are written down. That is the part ERPNext Consulting focused on with this team: agreeing in writing which rate applies on which document, and who approves a manual rate override. Overrides turned out to be 22 of the 83 transactions in month one, which was the real story all along.
ERPNext Consulting also helped them set a simple rule that ended most arguments: any order with a quote-to-invoice gap over 21 days gets re-priced or flagged for approval before shipping. That one rule removed roughly 60% of their exposure.
Start narrower than you think. Take last month’s foreign currency invoices and trace each one from quote to bank credit, writing down every rate you used. If you cannot find the rate for three of them, you have found your problem, and it is not the exchange rate. It is the trail.