LedgerBox

JSON exports, the whole extraction

The spreadsheet exports flatten an extraction into rows, which is what a spreadsheet is for. The JSON export does not flatten it. Every summary field, every record, and the type-specific fields under each record come through, which is what you want when something downstream is going to read the file.

Normalized JSON · shape

No header row

The whole extraction, summary fields and records together.

Not a table, so there is no header row. Each document is one object carrying its summary fields, every extracted record with its type and amount, and the projection hash the file was built from.

Approve a document, choose Normalized JSON, and download. Every document type offers it, and it is not one of the paid accounting exports.

How to get the file

  1. Upload the document

    Any of the document types LedgerBox reads. Each becomes its own document with its own extraction and its own export.

  2. Review and approve it

    The JSON reflects the document as approved, corrections included, which is the point of exporting after review rather than before it.

  3. Download the JSON, or call the API

    The same shape is available as a file and through the REST API and the open-source TypeScript SDK, so a script does not need a different reader than a person does.

Reading this from a script rather than a spreadsheet? The API and the open-source SDK

Worth knowing before you import

The quirks of a file are the part nobody writes down, and the part that costs an afternoon when it turns out to matter.

It is not a table, so it has no header row

Each document is one object carrying its summary fields, its records, and the hash of the extraction the file was built from. Records keep their own type, index, date, description, amount, and currency, with the type-specific fields alongside them.

The projection hash tells you what you have

It identifies the exact version of the extraction the file was built from and changes when a document is corrected. Two files with the same hash are the same data, which is what makes a re-export safe to compare against the last one.

A merged export is an array

Export several documents at once and you get one array with an object per document, each naming its source document. Nothing about the individual objects changes, so a reader written for one file reads the other.

JSON export FAQ

What is in the JSON export?

The document's summary fields, every extracted record with its type, index, date, description, amount, and currency, the type-specific fields on each record, and the projection hash identifying the extraction the file was built from.

Can I get the same data from the API instead of a file?

Yes. The REST API returns the same extraction, and there is an open-source TypeScript SDK on npm that wraps it. The file and the API are two ways of reading one shape rather than two shapes.

Does the JSON include the review corrections?

Yes, when you export after approving. The export reflects the document as approved, and the projection hash changes whenever a correction lands, so a stale file is identifiable rather than merely suspected.

See the columns on your own documents.

Upload a document and download the export in under a minute. No card required.

Get started free