Wiki

Wiki

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Forward Booking & Hedging

Forward Booking & Hedging

A Forward Booking records an FX forward contract with your bank: you lock a rate today for dollars you'll receive (export) or pay (import) later. Exim tracks what each forward covers, how much of it has been used, and the P&L when part of it is cancelled.

Forward Booking

Booking a forward

Key fields:

  • HedgeExport (you'll sell foreign currency) or Import (you'll buy it). This decides which documents can be underlyings: SO/SI for export, PO/PI for import.
  • Amount & currency — the notional, e.g. USD 60,000.
  • Booking rate = current rate + premium − margin (computed).
  • Maturity window — the from/to dates in which you may deliver against the forward.
  • Bank — filtered to banks marked Indian Bank.

The document also computes the forward limit your bank blocks: a margin percentage tiered by tenor (≤30 days → 4.5%, ≤60 → 7.6%, ≤90 → 8.78%, ≤150 → 10.19%) applied to the INR notional.

Underlyings

The Underlying table lists which orders/invoices this forward hedges. On submit, each underlying document's Amount Hedged increases by the covered amount and its Amount Unhedged is recomputed (grand total − hedged − advances − natural hedge). The Hedging Details report builds on these numbers.

The forward's life

flowchart TD
    B["Forward booked<br/>USD 60,000 @ 85.72<br/>status: Open"] --> U1["Pre Shipment loan<br/>utilizes USD 30,000"]
    B --> U2["Customer Payment Entry<br/>utilizes USD 30,000"]
    B --> C["Cancellation<br/>(unused portion, books P&L)"]
    U1 --> Z["Outstanding = amount −<br/>utilization − cancellation"]
    U2 --> Z
    C --> Z
    Z -->|"reaches 0"| X["status: Closed"]

Utilization happens from three places — you never edit the forward directly:

Consumer When
Payment Entry A foreign-currency customer receipt selects the forward in its Forwards grid; on submit a utilization row lands on the forward
Pre Shipment A PCFC loan drawn in foreign currency utilizes forwards for its conversion
Post Shipment Same, for post-shipment finance

The forward's Amount Outstanding = amount − total utilization − total cancelled. It can never go negative (over-utilization throws), and at zero the status flips to Closed.

Cancellation and P&L

If a shipment shrinks or a buyer prepays, the unused notional is cancelled with the bank at the prevailing rate. On the forward, fill the cancellation block (date, rate, amount, bank account) and click Add Cancellation Details:

  • A cancellation row records the rate difference vs the booking rate and the resulting profit or loss.
  • A Journal Entry posts that P&L against the company's Exchange Gain/Loss account, per row.
  • Cancelling the JV from the row is also supported if you got it wrong.

The summary block shows total cancelled, the average cancellation rate, and the net cancellation P&L.

Cancelling documents: Forward Bookings are deliberately excluded from ERPNext's cascade-cancel — cancelling an invoice never silently cancels your bank contract. Utilization rows are removed by the consuming document's own cancel (e.g. cancelling the Payment Entry gives the forward its headroom back).

Last updated 2 months ago
Was this helpful?
Thanks!