rsnodgrass/xerotrust

backups and data dump for Xero accounts

★ 1Forks 0PythonGitHub ↗Compare

README

xerotrust

Docs PyPI Git

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.

Documentation

Full documentation is available at https://xerotrust.readthedocs.io/en/latest/

Supported Exports

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

Attachment Downloads

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-attachments

Important Notes:

  • Attachments are always exported last to prioritize core accounting data
  • When --download-attachments is 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

Contributors

cjw296rsnodgrass

Issues