STANDALONE / EXPORT & MIGRATION V2 · 10 NOVEMBER 2026

Your records.
Your next step.

Payables Software handles supplier invoice intake, allocations, independent approvals and recorded hand-off without requiring Xero. Your cost categories and domestic tax classifications work on their own. Accounting account codes, Xero tax-rate names and tracking mappings are optional.

Generic CSV exports

The export desk offers an invoice register (one row per invoice), allocation lines, suppliers and sites/jobs. Register snapshots include drafts, voids and imported history, with workflow state clearly identified. Downloading a register does not mark records exported or approved.

Approved hand-off batches freeze the reviewed revision. Generic format is the default; optional Xero format is available when every line has its accounting mappings. A generic copy is available for saved legacy Xero batches from their recorded snapshot. Original saved CSV bytes are never replaced by a later rendering.

Generic line CSV includes supplier/reference/dates, GBP line net/tax/gross, your category and allocation, tax classification, optional accounting fields, material revision and migration provenance. Invoice totals appear only on the first line of each invoice, in columns explicitly suffixed FirstLineOnly. Source quantity/unit strings and both source tracking pairs are retained where imported. Text cells beginning with spreadsheet formula characters receive an apostrophe. This protects ordinary spreadsheet use; the original text remains in the app/JSON metadata.

Move records from Xero

Xero supports bill CSV exports and contact CSV exports. This release accepts those files as untrusted text. No OAuth access, automated extraction, external file fetch or continuing Xero subscription is needed for this app’s workflow. Export access and source completeness still depend on your Xero permissions.

  1. Export supplier contacts and bills from the correct Xero organisation. Xero bills exports are limited to 500 transactions per file; use source filters/batches where needed.
  2. Open Import & migration. Choose contacts or bills and upload a UTF-8 CSV, up to 4 MiB. Supported separators are comma, semicolon and tab.
  3. Review the column mapping, numeric date order, tax classifications and whether the Total column contains line gross or repeated invoice gross. Confirm GBP and tax-exclusive values. If no control total is present, the preview states this explicitly.
  4. Inspect every ready, duplicate and invalid record. Grouped bill rows must agree on headers; quantity × unit uses exact decimal half-up rounding to pennies. Imported line/header amounts must reconcile. Unsupported currency, negative credit values and complex tax are blocked with a reason.
  5. Select ready records. Enter their gross reconciliation total and acknowledge warnings/omissions before committing. The server rechecks duplicates and capacity, then saves the selected set in one transaction. Retrying the same committed selection returns its original report.
  6. Use the report to explicitly match each original PDF/image to the correct invoice. No original file is fetched from Xero, and the CSV does not count as the supplier original.

Contacts accept ContactName/Name/Supplier, optional EmailAddress and AccountNumber/SupplierReference. Bills accept InvoiceNumber, InvoiceDate, DueDate, Quantity, UnitAmount, TaxAmount, TaxType, Total and Currency, plus optional description/account/tracking/source fields. Leading asterisks in Xero headers are recognised. Projected fields are shown before preview; all other columns, including supplier bank details, are ignored and never retained. Unit prices support four decimals and quantities six; allocation lines store the resulting net with quantity one and retain the imported basis.

At most 500 supplier rows, or 5,000 bill lines across 500 invoices, can be previewed per file. Each invoice supports fifty lines. Imports count toward the organisation’s existing monthly and retained invoice allowances; preview and final commit show/check available capacity. Selected records are created, never merged over existing records. Existing names/references/source IDs produce duplicate warnings and cannot be selected. Conflicting or partial source records must be corrected in a new file or handled manually.

Source status and history

External approvals never become approvals here. Working invoices enter as drafts with no assigned reviewer or approval. Paid/voided source claims, or an explicit historical destination, create Imported history records outside outstanding work. Their source label, import time, file fingerprint and source record ID remain visible. A paid label is an imported assertion, not bank confirmation. Matching an original keeps history historical; reopening it requires a recorded reason and a new review before any hand-off.

Preview payloads expire after one hour. Discarded/expired staging data is cleared; a committed migration keeps its report and provenance with business records. Invalid, duplicate and unselected items are counted in the report. No whole-ledger, balance, bank reconciliation, credit-note, FX or tax-filing migration is claimed.

Optional Xero hand-off

For Xero-format export, match your contact name, account codes, full purchases tax-rate names and optional tracking values to the destination organisation. Follow Xero’s bills import guide, choose tax-exclusive amounts and reconcile its resulting draft bills before approving them there. An actual authorised Xero round-trip remains unverified. Original attachments are separate.

Xero invoice references use a stable PS-[internal ID]-[supplier reference] prefix to avoid same-file merging across suppliers. Inspect the destination before importing a corrected revision or downloading/importing a batch again. Xero-format cells with formula prefixes are rejected. A manually recorded hand-off never confirms accounting import or settlement.

Open migration → Open exports