File import is the live way to load invoices when you are not using a sandbox accounting fixture. PayBlah accepts .csv and modern Excel .xlsx. Legacy .xls is rejected — save as .xlsx or CSV first. The file picker offers .csv and .xlsx. A .txt file is read as CSV if it reaches the server; do not treat .txt as a supported template format.
There is no Google Sheets importer on this page. Sheets is not a live invoice source.
Before you start
- You need an Admin membership. Other roles see the page; write actions return “Only an Admin can import invoices.”
- Check Settings → Localisation for the workspace currency. Currency is not a file field and cannot be mapped. A column headed Currency is ignored.
- Company name on this import is optional. That is not the same rule as signup (company required) or Add invoice → New customer… (company required). A blank company uses the contact first and last name as the customer name.
- Onboarding Start following up is the activate step. It is not an import control.
Steps
- Sign in → Invoices → Import. The slide-down reads Import Invoices From A File and opens Import Invoices.
- Optional: download Excel Example .xlsx or CSV Example .csv. Keep the header row. Replace the three sample rows. The second sample row leaves Company Name blank on purpose.
- On Upload a file, click Choose your file. Limits: 5 MB and 2000 data rows. For Excel, PayBlah reads the first worksheet only. A damaged workbook is refused before mapping.
- Click Upload and match columns (sentence case on the live button).
- On Match your columns, map the four required fields. Set Dates read as (day/month/year, month/day/year, or year-month-day) and Decimal separator (1,234.56 or 1.234,56). The page shows Currency {CODE} from this PayBlah workspace.
- Click Update Preview. What this file would do tallies the whole file. The preview table shows the first 15 decided rows.
- Click Import N invoice(s) to commit. Preview and commit use the same decision engine.
- Read the audit report, then See the invoices or Import another file.
Required map fields
- Contact first name
- Invoice number
- Due date
- Amount outstanding
The importer maps thirteen fields in total. Optional: Company name, Contact last name, Contact email, Contact phone, Invoice date, Invoice total, Customer ID, Paid / unpaid, Paid date.
What commit does
- Creates new invoices (and customers when needed).
- Can enrol chasing through the same enrolment rules as a manual invoice. Default chasing mode is automatic. An invoice starts chasing when mode is automatic, the customer is not marked never-chase, the amount is at or above the minimum-chase floor, and an active-invoice space is free. Otherwise it is created open (including Waiting to Start when capacity is full or the invoice is outside plan age).
- Does not send email, SMS, or letters. Firm and Final steps still need a person to approve before they can send.
Re-import and row outcomes
- Already on the book — the same customer plus the same invoice number is skipped, not updated. A second file cannot change amount, paid state, or due date on an existing number.
- Nothing owed — zero outstanding, or Paid / unpaid read as paid, settled, closed, complete, yes, y, true, or 1. Those rows are filtered, not chased.
- Cannot read — missing required values, unreadable dates or amounts, or a negative amount (treated as a credit note; PayBlah does not chase it).
- Partial success is normal: valid rows can import while failed rows are listed with reasons.
The landing page Past imports list shows the last five runs. Older runs still open from Details or ?batch=.
Expected result
The report counts invoices created, already on the book, nothing owed, could not be read, new customers, and matched existing. New invoices appear on Invoices and Customers. Eligible automatic-mode invoices may show as Chasing or Waiting to Start — not as “imported and idle until Start following up.”
If something goes wrong
- .xls → “That is an older .xls workbook. Save it as .xlsx or CSV, then upload it again.” The Invoices slide-down and the importer both accept .csv or .xlsx only.
- Other extensions → “Choose a .csv or .xlsx file.”
- Over 5 MB → split the file or export a narrower date range.
- Over 2000 rows → “Too big”; nothing past that line is read. Split the file. Counts are not silently truncated.
- Upload expired → upload the file again.
- Non-Admin write → “Only an Admin can import invoices.”
More Import Options links to Settings Accounting Connection (Xero, QuickBooks, or Sage) and API & Webhooks. Those are not a second spreadsheet importer. Production accounting OAuth is not launched; Connect can still open a sandbox / sample-data fixture. See the Connections guides.