Back to blog
AccountingAccounts ReceivableAccounts PayableCash FlowContra Settlement

How to Offset Customer Invoices Against Supplier Bills: Contra Settlements Without Cash Movement

By The BIZA team2026-07-023 min read

It is one of the most common commercial arrangements across trading companies, contracting firms, and corporate groups in Saudi Arabia and the GCC: a counterparty is simultaneously your customer and your supplier.

Consider a typical scenario in building materials distribution:

  • You sell SAR 80,000 of structural steel to an engineering firm on credit.
  • Two weeks later, that same engineering firm provides SAR 35,000 of specialized site fabrication and crane rental services back to your operations.

In traditional, rigid accounting software, your accounts payable team prepares a wire transfer of SAR 35,000 to the partner's corporate bank account. Meanwhile, your collections team chases the partner for a SAR 80,000 wire back to your account. Both companies pay international or domestic transfer charges, wait for banking cut-off times, and consume finance hours reconciling wire slips against statements.

The modern, legally sound accounting solution is a Contra Settlement (also known as bilateral netting or set-off).


What is a Contra Settlement?

A contra settlement is an accounting adjustment where mutually agreed obligations between two trading parties are offset against each other without any money leaving or entering a bank account.

In the example above, instead of moving SAR 35,000 in cash:

  1. You agree to set off SAR 35,000 of open payables against open receivables.
  2. The supplier bill of SAR 35,000 is marked as Paid in Full.
  3. The customer's sales invoice of SAR 80,000 is credited by SAR 35,000, leaving an outstanding balance of SAR 45,000.
  4. The customer simply remits the net difference of SAR 45,000 to settle their account.

Why Spreadsheets and Manual Journal Entries Fail

Many small finance teams attempt to record contra adjustments using manual General Ledger journal vouchers: $$\text{DR Accounts Payable} \quad / \quad \text{CR Accounts Receivable}$$

While the top-level trial balance remains balanced, manual journals almost always corrupt the underlying sub-ledgers:

  • The customer's invoice remains marked as "Overdue" in the AR sub-ledger.
  • The supplier's bill remains unpaid in the AP aging report.
  • Customer statement printouts display phantom unpaid balances, leading to contentious customer disputes.
  • Tax auditors and external CPAs cannot trace which specific invoice line numbers were cleared by the journal.

How BIZA Automates Contra Offsetting

BIZA provides a dedicated Contra Settlement engine (/accounting/contra-settlements) that bridges Accounts Receivable and Accounts Payable cleanly.

1. Unified Counterparty Linking

In BIZA, you select the customer profile and the supplier profile. The workspace immediately pulls in all open, unpaid sales invoices from AR alongside all open, approved purchase entries from AP.

2. Intelligent Auto-Allocation (Oldest-First FIFO)

Enter the agreed set-off amount (e.g., SAR 35,000.00). BIZA's allocation engine inspects outstanding vouchers:

  • Identifies exact-match invoices or purchase bills.
  • If multiple invoices exist, it applies an oldest-first (FIFO) allocation, sequentially exhausting open balances until the net set-off amount is absorbed on both sides.
  • You can manually adjust line items if specific milestone invoices or disputed deliveries must be excluded.

3. Cross-Currency & Realized FX Handling

When trading cross-border—such as invoicing a regional partner in USD while paying for domestic transport in SAR—currency exchange rates fluctuate. BIZA automatically calculates currency variances and routes the balancing penny difference to Realized Foreign Exchange Gain/Loss, guaranteeing zero ledger imbalance.

4. Consolidated Bankless Journal Posting

Once confirmed, BIZA generates an atomic, immutable journal entry:

$$\begin{aligned} \text{DR} \quad & \text{Accounts Payable (2000) — Vendor Sub-Ledger} & \text{SAR } 35,000.00 \ \text{CR} \quad & \text{Accounts Receivable (1100) — Customer Sub-Ledger} & \text{SAR } 35,000.00 \end{aligned}$$

Simultaneously:

  • Linked sales invoices update their paid_amount and transition to Partial or Paid.
  • Vendor bills reflect the offset and drop off AP aging.
  • A permanent, clickable Contra Settlement Voucher (CS-2026-0042) is preserved with direct links to the underlying invoices, supporting contracts, and audit trails.

Better Liquidity, Zero Friction

Eliminating redundant payment cycles protects operating working capital and removes friction between long-standing commercial partners. By handling contra netting natively at the sub-ledger level, your business maintains spotless audit trails while freeing your finance team from repetitive wire reconciliations.