This package provides a command line tool to explore and export data from Xero accounts. The intention behind this is to give a safety net in the event that you lose access to your Xero accounting data, and also to allow you to analyse it with traditional tools such as Excel along with novel approaches you may wish to take using LLMs.
Full documentation is available at https://xerotrust.readthedocs.io/en/latest/
xerotrust can export the following Xero data:
| Category | Exports |
|---|---|
| Core Accounting | Accounts, Contacts, Invoices, Bills (Creditor Invoices), Credit Notes, Bank Transactions, Bank Transfers, Payments, Batch Payments |
| Journals | Journals, Manual Journals |
| Reports | Balance Sheet, Profit & Loss, Trial Balance, Bank Summary, Executive Summary, Aged Receivables, Aged Payables, Budget Summary |
| Supporting Data | Items, Purchase Orders, Quotes, Tax Rates, Tracking Categories, Currencies, Employees, Users, Branding Themes, Contact Groups, Repeating Invoices |
| Files | Attachments from Invoices, Bills, Bank Transactions, Contacts, and other supported entities |
By default, xerotrust exports core accounting data without downloading attachments. This ensures fast exports and avoids unexpected bandwidth or storage usage.
To download attachments along with their metadata:
# Export without attachments (default - fast)
uv run xerotrust export
# Export WITH attachments (downloads metadata + actual files)
uv run xerotrust export --download-attachmentsImportant Notes:
- Attachments are always exported last to prioritize core accounting data
- When
--download-attachmentsis used, both metadata and actual files are downloaded - Attachments are organized using human-readable identifiers (e.g., invoice numbers, contact names) instead of GUIDs for easier navigation
- Example structure:
attachments/invoices/INV-001/receipt.pdf