Uploading Files
You can upload invoices and bank statements one at a time, in bulk, or as a ZIP archive. Uploads run in the background, so you can keep working while they process.
The flow is the same on the Invoices and Bank transactions pages. What happens next differs: see Working with Invoices and Uploading Bank Statements.
Any member of the workspace can upload. You do not need a special permission for it.
Prefer not to upload at all? You can forward documents to your workspace by email.
What You Can Upload
| Page | Accepted types | Limit |
|---|---|---|
| Invoices | PDF, JPEG, PNG, WebP | 50 MB per file, and a PDF of at most 10 pages |
| Bank transactions | PDF only | 50 MB per file |
Two limits worth knowing before a big batch:
- An invoice PDF of more than 10 pages is refused, because a document that long is usually a statement or a bundle. Upload it as a statement, or split it.
- Photos from an iPhone (HEIC) are converted to JPEG in your browser before they upload. Nothing to do on your side. If a photo cannot be converted, its row says so; then export it as JPEG or PDF (on an iPhone, sending it to yourself as "Most compatible" works) and upload it again.
Files of any other type become a red row saying Wrong file type.
Starting an Upload
Three ways, all equivalent:
- Click the upload button at the top right: Upload invoices on the Invoices page, Upload statement on Bank transactions.
- Drag files onto the page. A drop zone covers the page as soon as you drag in, and you can release anywhere.
- Drag a ZIP archive onto the page. Your browser unpacks it (see ZIP archives).
Select several files at once in the file dialog with Ctrl or Cmd, or Shift for a range. A folder cannot be chosen or dropped: open it and select the files inside.
Uploads are deliberately sent one file at a time, and reading each document takes roughly ten to thirty seconds. A batch of a hundred invoices is a coffee break, not a click.
The Upload Panel
Uploads · 2 uploading
reamwell-2026-0417.pdf
Extracting…
slatebridge-march.pdf
Extracting page 4 / 12
quillmoor-2026-0288.pdf
Extracted
gearmont-2026-0091.pdf
Already exists
scan-0042.heic
Wrong file type
gearmont-2026-0092.pdf
Failed: Unsupported file type: image/heic
The upload panel while a batch is running. The file names are examples.
A panel appears in the bottom-right corner as soon as an upload starts, with one row per file. It also reports two things that are not uploads: a matching run, and an exchange-rate update.
Row states
| Label | Meaning |
|---|---|
| Queued | Waiting for its turn. |
| Uploading… | The file is being copied to storage. |
| Extracting… | The AI is reading the document. |
| Extracting page X / Y | A statement is being read page by page. |
| Categorizing… | The statement's transactions are being given categories. |
| Extracted | An invoice is done. Click the row to open it. |
| Done · N transactions (M merged) | A statement is done. Click the row to open it. |
| Done with errors · see detail | A statement finished, but some pages did not. Open it to see which. |
| Already exists | This exact file is already in the workspace. Click the row to open the original. |
| Cancelled | The statement was dismissed while it was processing. |
| A red row | Something went wrong. See When an upload fails. |
Collapsing and dismissing
While anything is still running, the header offers Collapse, which shrinks the panel to a pill; click the pill to open it again. Once every row has finished, the panel collapses on its own after about eight seconds, and an × appears to dismiss it.
Leaving the page
- A file that has finished uploading is safe. Reading it happens on our servers and carries on whether or not you stay.
- A file still being sent from your browser is lost if you reload or close the tab. Upload it again.
- The panel itself is not a history. After a reload it shows only what is still running, or finished in the last minute. Rows for duplicates and for files rejected by your browser are gone. What was uploaded is on the Invoices or Bank transactions page, which is the real record.
- Switching workspace clears the panel, then fills it with that workspace's running uploads. A second tab sees the same running rows.
When an Upload Fails
There are two kinds of failure, and they behave differently.
Your browser refused the file. Wrong type, over 50 MB, a broken or encrypted ZIP, or the workspace's document limit on a trial. The row is red and has no Retry button, because the file never left your computer. Fix the file and add it again.
Reading the document failed. The file is in the workspace but the AI could not read it. These rows say Failed: with the reason, and offer Retry.
Retry helps with a temporary problem. It cannot help when the reason is the document itself: more than 10 pages, an unsupported type, a password-protected PDF, or a document too complex to read. For those:
- Make it smaller or simpler. Re-export the PDF at a lower size, or split a bundle into single invoices.
- Convert it. An image that fails often works as a PDF, and the other way round.
- Type it in. A failed invoice still exists in the workspace: open it and fill in the fields by hand.
Duplicates
When you upload an invoice, AI Finance Team compares the file with what the workspace already holds. An identical file gives you an Already exists row pointing at the original.
It compares the file itself, not its content, so a second scan or a re-export of the same invoice is not caught here. Those are found later, on the invoice, as possible duplicates. Bank statements are not checked on upload at all.
If the same file is in one drop twice, the second copy is dropped silently.
ZIP Archives
Drop a .zip onto the Invoices or Bank transactions page and your browser unpacks it in memory, adding each file inside as its own row. The archive itself is never uploaded, only the files in it.
- Drop the archive, or choose it with the upload button.
- A short-lived row shows the archive being unpacked.
- Each valid file inside becomes its own row.
What the archive may hold follows the page you dropped it on: invoices on the Invoices page, statement PDFs on Bank transactions. Anything else becomes a red Wrong file type row, and the rest of the archive still goes through.
| Limit | Value |
|---|---|
| Largest archive | 200 MB |
| Largest file inside | 50 MB |
| Encrypted archives | Not supported |
| A ZIP inside the ZIP | Not unpacked; it becomes one wrong-type row |
| Folders inside the archive | Flattened; only file names are kept |
__MACOSX, .DS_Store and any other name starting with a dot | Skipped without a row |
Dropping several archives at once is fine; they are unpacked one after another. A very large archive can also fail while unpacking even under 200 MB, because it is unpacked in your browser's memory: split it in that case.
Supporting Documents on an Invoice
A performance certificate, a timesheet, a delivery note or a similar supporting document belongs on its invoice, not in the invoice queue. Open the invoice and upload it on the Attachments tab: several files at once, by drag and drop or by choosing them. PDFs and images can be previewed; Excel, Word and CSV files are accepted for download only. Each file can be up to 50 MB. See Invoice Attachments.
Other Places That Take Files
Not every file belongs in the invoice or statement queue:
- Documents holds contracts, certificates and anything else worth keeping with the client. It has its own upload, with its own limits. A supporting document uploaded there is recognised as one and waits to be linked to its invoice, instead of becoming an invoice.
- Missing receipts is where a client answers a request for a specific document.
Tips for Big Batches
- Let it run. Uploads continue while you work elsewhere in the workspace.
- Send invoices and statements from their own pages. There is no mixed mode.
- Check the panel before you finish for the day. A red row needs a fixed file, not a second wait.