Help centre | Article
Import invoices in bulk from a CSV
For catching up a backlog, or moving a year of history in from a spreadsheet, without typing each invoice.
When to use it
Bulk import exists for the two moments when entering invoices one at a time is the wrong shape of work: moving in from a spreadsheet you have kept for months or years, and catching up after a stretch where the admin slipped. For ordinary week-to-week invoicing, raising each invoice from its session is better, because the session already knows the rate, the hours and the organisation.
The columns
The header must contain these five columns, in this order:
- organisation: the name of the organisation being billed. Required.
- invoice_date: the date on the invoice. Required.
- due_date: when payment is due. Optional; leave the cell empty to use your default terms.
- description: what the invoice is for. Required.
- amount_gbp: the total in pounds. Required.
Download the template from the import page rather than typing the header yourself, which removes the commonest cause of a rejected file.
How to write dates and amounts
Important
Amounts are plain numbers in pounds: 450.00, not £450.00 and not 450,00. Do not use a thousands separator.
Checking before you commit
Paste or upload the file and Sessional shows you the parsed rows before anything is created, highlighting the exact cell in any row it cannot read. Nothing is imported until you confirm, so a badly formatted file costs you a correction rather than a cleanup.
Up to 200 invoices can go in one import. For more than that, split the file; each import is checked and created as one batch.
What it creates
Each row becomes an invoice against the named organisation. If an organisation on the file does not exist yet, it is created for you, so you do not have to add them first. Nothing is sent: imported invoices are yours to review, and you send them when you choose. See invoicing.
Tier access
Basic covers up to 5 invoices a calendar month, and imported invoices count towards that like any other. If a file would take you past the cap, the rows up to the limit are created and the rest come back marked with the reason, so you keep what fitted rather than losing the import. A large backfill needs Plus. See pricing.