Forsja

FOR EXPORT HOUSES AND MANUFACTURER EXPORTERS

ERP for exporters

You invoice in dollars and euros, you report in rupees, and the gap between the two is where most accounting software quietly stops helping. Forsja is a double-entry ERP built for Indian manufacturers and exporters, where the foreign currency, the zero-rated export and the shipment are part of the ledger rather than three spreadsheets beside it.

Invoice in the buyer’s currency. Keep books in rupees.

An export invoice is one document that has to be two numbers: the amount your buyer owes in their currency, and the amount your books recognise in yours. Keeping those in separate systems is how a set of books drifts from the invoices behind it — and the drift only surfaces at year end, when nobody can remember which rate was used.

In Forsja both live on the document. The invoice carries its currency and the rate that applied the day it was issued; the ledger carries the rupee equivalent of the same posting. The rate is stored as an integer at six decimal places rather than a floating-point number, which matters more than it sounds: a float cannot hold every decimal exactly, and the error it introduces is multiplied by every line on a large invoice.

Exports are zero-rated, and the return already knows

A supply to a buyer outside India is an export, and Forsja classifies it as one when the invoice is issued — not when the return is being prepared. Whether IGST was charged decides which kind: with payment of tax where it was, and without payment of tax where the supply was zero-rated under a letter of undertaking.

That single decision then carries all the way through. It puts the invoice in the right GSTR-1 section, sets the supply type on the e-invoice payload in the NIC schema, and keeps the taxable value on the 3B consistent with the documents it came from. The return is a view of invoices already posted, so a filing cannot disagree with the ledger it was derived from.

Gain and loss on the rupee, booked when it is real

Between raising an export invoice and being paid for it, the rupee moves. Two different things follow, and conflating them is the most common mistake in exporters’ books.

While the invoice is open, the difference is unrealised: the balance is revalued at the closing rate so the balance sheet states what it is worth today. When the money actually lands, the difference between the rate the invoice was raised at and the rate it settled at is realised, and posts to foreign exchange gain (account 4300) or loss (5800) in the same journal as the receipt. The period close then refuses to complete while any open foreign balance has not been revalued — so nobody signs a set of statements resting on a stale rate.

Nine months to bring the money home

Under FEMA, the full value of exported goods has to be realised and repatriated within nine months of the date of export. Miss it and the shipping bill is flagged in the bank’s EDPMS, the authorised dealer starts asking questions about the next shipment, and the LUT that keeps exports zero-rated is at risk. The date that matters is the let export order on the shipping bill, not the invoice date.

Forsja records each shipping bill against the export invoice it covers, with its port, its LEO date and its FOB value, and sets the realisation deadline from the LEO date the moment customs grants it. Every FIRC or e-BRC the bank issues is recorded against the bill, in the foreign currency it covers and the rupees that were actually credited, and a bill cannot be realised for more than it was shipped for. What is left to collect is shown per bill and per currency; a bill inside sixty days of its deadline is flagged, and one past it is overdue on the screen and in the period close. The IEC and the LUT sit on the same screen with the LUT’s validity, because a lapsed LUT is discovered at the worst possible moment otherwise.

What an exporter gets

Multi-currency invoicing

Sales and purchase documents in any currency, with the rate carried on the document. Rates are held to six decimal places as integers, never as floats, so a large invoice converts to the same rupee figure every time it is read.

Zero-rated exports, classified automatically

An overseas buyer makes the supply an export. Whether IGST was charged decides with or without payment of tax, and that decides the GSTR-1 section.

Realised and unrealised difference

Open balances revalued at the closing rate; the realised difference booked to 4300 or 5800 in the same journal as the receipt that caused it.

Shipments beside the invoice

Container, ports, carrier, the ETA you were promised and the ETA you are being given now — in the system that holds the invoice, not a separate tracker.

Shipping bills and realisation

Each shipping bill against its invoice, the LEO date, the FOB value, and every FIRC or e-BRC received against it. The nine-month deadline is computed, not remembered, and the LUT’s validity is shown beside it.

A close that will not lie

The period refuses to close while a foreign balance has not been revalued at the closing rate, so the statements cannot be signed on a stale rupee figure.

The ledger underneath all of it

Double-entry, money as integers, every figure on a report the sum of documents you can open. Receivables equal account 1130 to the paisa on any day of the month.

Common questions

Can I invoice in USD or EUR and still report in rupees?
Yes. An invoice carries its own currency and the rate that applied on the day it was issued, and the ledger carries the rupee equivalent. Both are stored on the document, so the invoice you send the buyer and the figure in your books are the same record rather than two numbers that have to be reconciled.
Does it handle exports under a letter of undertaking?
Yes. An invoice to an overseas buyer is classified automatically: with payment of tax where IGST was charged, without payment of tax where it was zero-rated under an LUT. That classification is what decides which GSTR-1 section the invoice lands in, so the return follows the invoice rather than being keyed again.
How is exchange gain or loss handled?
Two ways, because they are two different things. An open foreign balance is revalued at the closing rate — an unrealised difference. When the money actually arrives, the difference between the rate the invoice was raised at and the rate it was settled at is realised, and posts to foreign exchange gain (4300) or loss (5800) in the same entry as the receipt.
Is this for merchant exporters or manufacturer exporters?
Both. A merchant exporter uses purchases, stock and the export invoice; a manufacturer exporter also gets bills of material and work orders that carry their own work in progress, so the cost of what was shipped is the cost of what was made rather than an allocation.
Does it track the nine-month realisation deadline on shipping bills?
Yes. Each shipping bill is recorded against its export invoice with the let-export-order date, and the realisation deadline is set nine months from that date, as the RBI Master Direction on Export of Goods and Services requires. FIRCs and e-BRCs are recorded against the bill, the outstanding foreign amount is shown per bill and per currency, bills inside sixty days of the deadline are flagged, and the period close warns when a bill has gone past it.
Does it produce e-invoice payloads for export invoices?
Yes — in the NIC schema, with the supply type set to exports with or without payment of tax, ready for the IRP.

See it against your own numbers

The demo runs on a full synthetic manufacturing tenant — foreign invoices, revaluation, a GSTR-1 with an exports section. No signup.

Open the demo