Organise your Xero attachments into the folders your business uses
The default folders and file names in a Numerint export, and how a custom layout can change them.
Numerint exports the accounting data and the file attachments of a Xero organisation into one ZIP file. Many businesses keep this ZIP file as a backup. Other businesses also use it to put their files in order for a business process.
For example, a business can collect all the bills for each client in one folder. Another business can give files to a tax authority in the structure that the authority asks for, or file costs by project. Numerint can apply the same layout on each scheduled backup, so each new ZIP file has the same folders.
The ZIP file also contains data about each file, in a CSV file and in JSON files. A spreadsheet, a database or a script can read these files to find each file and use it in a workflow.
This page shows the default layout of the ZIP file and three examples of custom layouts. We set up custom layouts for you. To ask for one, email info@numerint.com.
What the Xero export ZIP file contains
Each backup gives you one ZIP file. The ZIP file contains a workbook, a CSV file, a data folder and a files folder. This is the default layout:
Your_Company_2025-12-01_0930Z_backup.zip
|-- Your_Company_2025-12-01_0930Z.xlsx (the workbook)
|-- Your_Company_2025-12-01_0930Z_data.csv (the CSV index)
|-- data/ (the JSON records)
`-- files/
|-- banktransactions/
| `-- 2025-02-03_Business-Account_150-75_Sodor-Port-Authority_SPEND_<Xero-ID>_001-of-001.pdf
|-- invoices/
| |-- 2025-01-14_Globex-Corp_ACCPAY_<Xero-ID>_001-of-001.pdf
| |-- 2025-01-20_ACME-Fuel-Co_ACCPAY_<Xero-ID>_001-of-002.pdf
| `-- 2025-01-20_ACME-Fuel-Co_ACCPAY_<Xero-ID>_002-of-002.jpg
`-- manualjournals/
`-- 2025-04-30_Monthly-depreciation_MANJOURNAL_<Xero-ID>_001-of-001.pdf
The name of the ZIP file starts with the name of your organisation. Then it gives the date and the time (UTC) when the backup started.
The files folder has one folder for each record type, for example invoices, banktransactions and manualjournals.
A default file name has these parts, with an underscore between them:
| Part | Example | What it is |
|---|---|---|
| Date | 2025-01-20 | The date of the accounting item. If the item has no date, this part is 0000-00-00. |
| Name | ACME-Fuel-Co | The contact. For a bank transaction, the bank account name, the total and the contact. For a manual journal, the narration. For a bank transfer, the names of the two bank accounts and the reference. For an account, the account name. |
| Type code | ACCPAY | Xero's code for the kind of item. For example, ACCPAY is a bill and ACCREC is a sales invoice. |
| GENERATED | GENERATED | Only in the name of a PDF that Xero made. |
| Xero ID | <Xero-ID> | The ID of the item in Xero. Xero uses this ID in the web address of the item. |
| Position | 001-of-002 | The position of the file and the number of files on the item. |
In each part, a space becomes a dash.
A fixed asset has a different default name: the asset number, the asset name and the position, for example FA-0012_Delivery-van_001-of-001.pdf.
The workbook, the CSV index and the JSON records
Each part of the ZIP file has a different use:
| Part | What it is for |
|---|---|
| The workbook (XLSX) | A very detailed table view of the accounting data, with worksheets for each record type. Use it to read and check the data. |
| The CSV index | One row for each line of each accounting item, with the folder and the names of its files. Use it to find files and to drive a process. |
| The JSON records (the data folder) | A detailed record of the accounting data, with one file for each record type. It has more detail than the CSV, and a program can read it directly. |
| The files folder | The attachments, in the default layout or in a custom layout. |
The CSV index: one row for each line
The CSV file has one row for each line of each accounting item. A bill with three lines has three rows. If a line uses more than one tracking category, the line has one row for each tracking option. An item with no lines, such as a contact, has one row.
Each row has 65 columns. These are the columns that you use most:
| Group | Columns |
|---|---|
| The accounting item | Type, Contact.Name, Date, InvoiceNumber, Reference, Total, CurrencyCode, Status |
| The line | LineItem.AccountCode, LineItem.Description, LineItem.LineAmount, LineItem.Tracking.Name, LineItem.Tracking.Option |
| The files | HasAttachments, AttachmentFolder, AttachmentFilenames |
| The Xero IDs | InvoiceID, ContactID, BankTransactionID and the other ID columns |
| The result | NumerintStatus, ErrorMessage |
AttachmentFolder gives the folder of the files.
AttachmentFilenames gives the names of the files, with " : " between two names.
If you use a custom layout, Numerint changes these two columns to the new folders and names.
Then the CSV agrees with the files in the ZIP file.
For example, to collect all the bills from one supplier, filter the rows by Type ACCPAY and by Contact.Name.
Then use AttachmentFolder and AttachmentFilenames to find the files.
If you record each client as a tracking option, filter by LineItem.Tracking.Option to collect all the bills for one client.
With a scheduled backup, the same process can run after each backup.
Files from earlier backups
Numerint keeps the files that it collects. Each backup adds the new and changed files, so the ZIP file contains the files from all the backups of your organisation so far.
The accounting data is always complete.
The workbook, the CSV rows and the JSON records include all the data, also when you use filters.
Filters change only which files Numerint collects.
If a filter leaves out a record type or a date range, Numerint does not collect the files of those items.
If no earlier backup collected them, AttachmentFolder and AttachmentFilenames are empty in their rows.
Accounting items with more than one file
An accounting item in Xero can have more than one attachment.
For example, a bill can have the supplier's invoice and a delivery note.
Numerint gives each file a number that shows its position and the total number of files: 001-of-002, then 002-of-002.
The default layout adds this number to every file, also when an item has only one file.
A custom layout adds it only when an item has more than one file.
On the filters page, you can tick Generate Customer Invoice PDFs, Generate Credit Note PDFs, Generate Quote PDFs and Generate Purchase Order PDFs. Then Numerint also includes the PDF that Xero makes for each sales invoice, sales credit note, quote and purchase order. The name of this PDF contains GENERATED, so you can tell it from the files that you attached.
Default layout:
2025-01-20_ACME-Fuel-Co_ACCPAY_<Xero-ID>_001-of-002.pdf
2025-01-20_ACME-Fuel-Co_ACCPAY_<Xero-ID>_002-of-002.jpg
2025-01-31_Riverside-Hotel_ACCREC_GENERATED_<Xero-ID>_001-of-001.pdf
Custom layout (Type code, Date, Contact, Total, Currency):
ACCPAY_2025-01-14_Globex-Corp_1234.50_EUR_<Xero-ID>.pdf
ACCPAY_2025-01-20_ACME-Fuel-Co_880.00_EUR_<Xero-ID>_001-of-002.pdf
ACCPAY_2025-01-20_ACME-Fuel-Co_880.00_EUR_<Xero-ID>_002-of-002.jpg
Example folder structures and file names
These examples show how three kinds of business use a custom layout. Each example gives the need, the setting and the result. All the names are invented. You can also combine the fields in other ways: see Fields you can use in a layout.
File names that describe each item
A marine fleet management company sends the files for each ship to the ship owner. Each file name must show what the file is, so that the owner does not have to open it. The company keeps the default folders and changes only the file names.
File names: Type code, Date, Contact, Total, Currency
files/
|-- banktransactions/
| `-- SPEND_2025-02-03_Sodor-Port-Authority_150.75_USD_<Xero-ID>.pdf
`-- invoices/
|-- ACCPAY_2025-01-14_Globex-Corp_1234.50_EUR_<Xero-ID>.pdf
|-- ACCPAY_2025-01-20_ACME-Fuel-Co_880.00_EUR_<Xero-ID>_001-of-002.pdf
`-- ACCPAY_2025-01-20_ACME-Fuel-Co_880.00_EUR_<Xero-ID>_002-of-002.jpg
Numerint adds the Xero ID after the other fields, so that each name is unique.
Folders by record type, contact, year and month
An accounting practice gives files to the Inland Revenue Department when the department asks for them. Other tax authorities can ask in the same way. The practice keeps bills apart from sales invoices. Then it sorts them by supplier or customer, then by year and month. Each file name starts with the Xero ID, then the number of the item.
Folders: Record type, Type code, Contact, Year, Month
File names: Xero ID, Number
files/
|-- banktransactions/
| `-- SPEND/Kwik-E-Mart/2025/01/
| `-- <Xero-ID>_RCPT-8841.pdf
|-- invoices/
| |-- ACCPAY/
| | |-- Dunder-Mifflin/2025/01/
| | | |-- <Xero-ID>_DM-0153.pdf
| | | |-- <Xero-ID>_DM-0198_001-of-002.pdf
| | | `-- <Xero-ID>_DM-0198_002-of-002.pdf
| | `-- Planet-Express/2025/01/
| | `-- <Xero-ID>_PE-0042.pdf
| `-- ACCREC/
| `-- Riverside-Hotel/2025/01/
| `-- <Xero-ID>_INV-0042_GENERATED.pdf
`-- manualjournals/
`-- MANJOURNAL/(No-Contact)/2025/04/
`-- <Xero-ID>_Monthly-depreciation.pdf
A bank transaction has no number, so its name uses the Reference.
A manual journal has no number and no Reference, so its name uses the Narration.
A manual journal also has no contact, so it goes in the (No-Contact) folder.
When a field has no value gives the rules.
Folders by project and account code
A production company records the costs of each project in Xero with a tracking category. The company wants all the files for a project in one folder, sorted by account code. The layout has no file name fields, so each file name has the date, the contact and the type code, then the Xero ID.
Folders: Tracking option, Account code
files/
|-- (No-Tracking-Option)/
| `-- (No-Account-Code)/
| `-- 0000-00-00_Reel-Deal-Studios-Ltd_CONTACT_<Xero-ID>.pdf
|-- P101-Summer-Campaign/
| |-- 310/
| | `-- 2025-01-14_Reel-Deal-Studios-Ltd_ACCPAY_<Xero-ID>.pdf
| `-- 420/
| `-- 2025-01-20_Phil-A-Ment-Lighting_ACCPAY_<Xero-ID>.pdf (copy 1)
`-- P102-Product-Launch/
`-- 420/
`-- 2025-01-20_Phil-A-Ment-Lighting_ACCPAY_<Xero-ID>.pdf (copy 2)
The bill from Phil-A-Ment Lighting has one line for project P101 and one line for project P102, so its file is in both project folders. The attachment of the contact Reel Deal Studios Ltd has no project and no account code, so it goes in the placeholder folders.
Why a file can be in more than one folder
A file is attached to a whole accounting item, for example a bill. But Account code and Tracking option belong to the lines of the bill, not to the whole bill. A bill can have many lines with different account codes. Each line can also have more than one tracking option.
If you build folders from Account code or Tracking option, one bill can belong in several folders. Numerint then puts a copy of the bill's files in each of these folders, so the same file is in the ZIP file more than once. Lines that lead to the same folder share one copy. The bill from Phil-A-Ment Lighting in the project example shows this.
This bill from Reel Deal Studios Ltd has 4 lines. The layout uses Tracking option, then Account code:
Line 1: project P101, account 310
Line 2: project P101, account 420
Line 3: project P102, account 420
Line 4: project P101, account 420
files/
|-- P101-Summer-Campaign/
| |-- 310/ (line 1)
| | `-- 2025-02-10_Reel-Deal-Studios-Ltd_ACCPAY_<Xero-ID>.pdf
| `-- 420/ (lines 2 and 4)
| `-- 2025-02-10_Reel-Deal-Studios-Ltd_ACCPAY_<Xero-ID>.pdf
`-- P102-Product-Launch/
`-- 420/ (line 3)
`-- 2025-02-10_Reel-Deal-Studios-Ltd_ACCPAY_<Xero-ID>.pdf
A line can also use two tracking categories, for example Project and Region. Then the line has one CSV row for each option, and Numerint puts a copy in the folder of each option. Project folders and region folders are then at the same level.
Each copy has its own row in the CSV, with its own AttachmentFolder.
Each copy also makes the ZIP file larger.
To prevent copies, use only fields that belong to the whole item, for example Type code, Contact and Date.
When a field has no value
Some record types do not have every field. For example, a manual journal has no contact, and a fixed asset has no date. When a field has no value, Numerint uses a placeholder. A text placeholder starts with a bracket and a date placeholder is zeros, so these folders come first in a sorted list.
| Field | Placeholder |
|---|---|
| Contact | (No-Contact) |
| Date, Year, Month | 0000-00-00, 0000, 00 |
| Number | (No-Number) |
| Invoice number | (No-Invoice-Number) |
| Reference | (No-Reference) |
| Narration | (No-Narration) |
| Type code | (No-Type) |
| Total | (No-Total) |
| Currency | (No-Currency) |
| Account code | (No-Account-Code) |
| Tracking option | (No-Tracking-Option) |
The Number field has fallbacks.
Numerint uses the number of the item.
If the item has no number, Numerint uses its Reference.
If it has no Reference, Numerint uses its Narration.
Numerint uses (No-Number) only when all three are empty.
What each field gives for each record type
Each record type fills different fields. This table shows the result for each record type in the files folder.
| Record type | Type code | Contact | Date | Number |
|---|---|---|---|---|
| Accounts | ACCOUNT | (No-Contact) | 0000-00-00 | (No-Number) |
| Bank transactions | Xero's type, for example SPEND or RECEIVE | The contact | The date of the transaction | The Reference, else (No-Number) |
| Bank transfers | BANKTRANSFER | (No-Contact) | The date of the transfer | The Reference, else (No-Number) |
| Contacts | CONTACT | The name of the contact | 0000-00-00 | (No-Number) |
| Credit notes | ACCPAYCREDIT or ACCRECCREDIT | The contact | The date of the credit note | The credit note number, else the Reference, else (No-Number) |
| Fixed assets | FIXEDASSET | (No-Contact) | 0000-00-00 | The asset number, else (No-Number) |
| Invoices and bills | ACCPAY or ACCREC | The contact | The date of the invoice | The invoice number, else the Reference, else (No-Number) |
| Manual journals | MANJOURNAL | (No-Contact) | The date of the journal | The Narration, else (No-Number) |
| Purchase orders | PURCHASEORDER | The contact | The date of the order | The purchase order number, else the Reference, else (No-Number) |
| Quotes | QUOTE | The contact | The date of the quote | The Reference, else (No-Number) |
| Repeating invoices | REPEATING-ACCPAY or REPEATING-ACCREC | The contact | No item date. Numerint uses the time when it last collected the files of the template. | The Reference, else (No-Number) |
Fields you can use in a layout
A layout is a list of fields for the folders and a list of fields for the file names. Numerint makes one folder level for each folder field, in the order that you give. It joins the file name fields with underscores. If a layout has no folder fields, Numerint keeps the default folders. If a layout has no file name fields, the file names use the date, the contact and the type code.
| Field | What it gives |
|---|---|
| Record type | The record type, for example invoices. This is the same as the default folder. |
| Type code | Xero's code for the kind of item, for example ACCPAY. |
| Contact | The name of the contact. |
| Date | The date of the item, for example 2025-01-31. |
| Year | The year of the date, for example 2025. |
| Month | The month of the date, for example 01. |
| Number | The number of the item, with the fallbacks in When a field has no value. |
| Invoice number | The invoice number only, with no fallback. |
| Reference | The Reference of the item. |
| Narration | The Narration of a manual journal. |
| Total | The total of the item, with two decimal places. |
| Currency | The currency code, for example EUR. |
| Xero ID | The ID of the item in Xero. You can use it only in file names. If you do not use it, Numerint adds it after the other fields. |
| Account code | The account code of a line. It can make copies. |
| Tracking option | The tracking option of a line. It can make copies. |
How Numerint makes names safe
Some versions of Windows cannot extract a ZIP file that has very long file paths. Some operating systems and ZIP tools also do not accept some characters in a name.
- A space becomes a dash.
- A character that Windows does not allow in a name (
< > : " / \ | ? *) becomesX. - In a folder name, two or more dashes in sequence become one dash.
- A folder name that Windows keeps for its own use, such as
CONorNUL, gets an underscore after it. - A folder name that is too long is cut. It then ends with
~and a code of four characters. The code keeps the name unique, and the name stays the same from one backup to the next. - In a file name that is too long, Numerint shortens the field values. It does not shorten the date, the type code, the Xero ID, GENERATED, the position number or the extension.
Ask for a custom layout
We set up custom layouts for you. Email info@numerint.com and tell us how you want to organise your files. The examples on this page are starting points, and we can combine the fields in other ways.
A layout applies from the next backup, and to each scheduled backup after it. To change or remove a layout, email us again.