Help Center

Bulk Import — Opening Balances

For: Anyone setting starting balances for existing customers & vendors

Upload opening balances (starting amounts owed) for customers and vendors that already exist, per branch, from an Excel/CSV-style sheet. Each row ties one customer/vendor to one branch.

Warning: This tool does not create customers, vendors, or branches. It only sets a starting balance. If the customer/vendor doesn't exist yet, set it up first.


How it works

Every bulk upload has two steps. You run the same sheet through a Check first, fix anything it flags, then run it again to actually Apply the balances.

StepWhat it does
1. Check (recommended)Reviews your entire sheet and lists every row with a problem — without saving anything. Fix the issues and check again.
2. ApplyOnce every row passes, upload again to actually apply the balances.

Danger: Applying is all-or-nothing: if even one row has a problem, nothing is recorded — the whole batch is rolled back. Check first.

Warning: One prerequisite is only caught at the final step, not at Check: each customer/vendor must already have a receivable/payable account assigned. If one is missing, the whole Apply fails with a message naming that customer — even if the Check step passed. Make sure accounts are assigned before you Apply.

Required in every row

These must be filled in correctly on every row:

FieldWhat's needed
Customer NumberThe number of a customer/vendor that already exists (exact match). Not created here.
Branch NameThe name of an existing branch (see the matching note below).
Opening BalanceThe starting amount. Up to 2 decimal places. Can be positive or negative.

Optional fields with rules

These are optional — but if you fill them in, they must follow these rules:

FieldRule if you fill it in
Sign (positive / negative)For a customer, a positive amount means they owe you. For a vendor, a positive amount means you owe them (a payable). A negative amount is the reverse (a credit).
A 0 or blank balanceAlways accepted — treated as 'nothing to do' and never conflicts with anything on record.
DecimalsAt most 2 decimal places.

Must match existing records

Customer Number must match exactly. Branch Name is matched against existing company branches (case-insensitive); note it is matched company-wide rather than strictly under that one customer.

FieldWhat it must match
Customer NumberMust exactly match an existing customer/vendor number (case-sensitive).
Branch NameMatched against your company's branches by name, case-insensitively. If the branch isn't already attached to the customer, it is attached when you Apply.

Duplicates & uniqueness

SituationWhat happens
That branch already has an opening balance on recordRejected — you can only set a branch's opening balance once.
That branch already has activity (its current balance isn't zero)Rejected — once a branch has moved past its starting point, an opening balance can't be set.
The same Customer + Branch appears twice in your sheetRejected — list each customer/branch pairing only once per upload.
Opening Balance is 0 or blankAlways accepted — never conflicts with anything already on record.

Common mistakes

If a row is rejected, it is usually for one of these reasons:

If this happens……here's what it means
Customer Number missing or doesn't matchThe customer/vendor must already exist — check the number, or add it first.
Branch Name missing or doesn't matchThe branch must already exist in the company — check spelling.
Opening Balance isn't a valid number or has >2 decimalsEnter a plain number (positive or negative), rounded to 2 decimals.
Branch already has an opening balance or has activityYou can set an opening balance only once, before any activity — these are caught at Check.
Same customer + branch appears twice in the sheetList each pairing only once.
Customer has no receivable/payable accountAssign one first — this is caught only at Apply and fails the whole upload, naming the customer.

What happens on the final step

  • For each non-zero row, if the branch wasn't already attached to the customer, it is added along with its opening balance.
  • The opening balance becomes that branch's starting point — both its 'opening' figure and its 'current' figure begin at the amount you entered.
  • An accounting entry is posted to the customer's receivable (or vendor's payable) ledger, so the balance is reflected in your accounts from day one, with the offset to an opening-balance adjustment.
  • The whole batch is written together in a single transaction — if anything fails, nothing is saved.

Recommended way to work

  1. Make sure each customer/vendor already has a receivable/payable account assigned.
  2. Build your sheet with customer numbers, branch names, and the opening balance for each.
  3. Run the Check step first and review the problem rows.
  4. Fix each issue and re-check until every row passes.
  5. Only then run Apply to record the opening balances.
  6. Tip: if someone else imports a balance for the same customer and branch between your Check and Apply, your row can still be rejected at the last moment — just check again before retrying.