Skip to main content
This guide walks through the full monthly reconciliation flow: fetching every transaction in a billing period, pulling the matching billing statement for totals verification, tagging transactions with accounting labels, and downloading supporting documents.

Prerequisites

  • A valid Bearer token and mTLS client certificate. See Authentication.
  • The billing period you want to reconcile (start and end dates in YYYY-MM-DD format).

Step 1: Fetch all transactions for the period

Use operationDateRangeStart and operationDateRangeEnd to scope the request to a specific billing period. Transactions are paginated — page through all results before moving on.
Response:

Pagination loop

Continue requesting until number equals totalPages - 1, or until a page returns fewer items than size.
Available filters:
Pre-authorizations (PRE_AUTHORIZED) may settle as AUTHORIZED up to 2 business days later. For a complete reconciliation, either wait for settlement or run an incremental sync using lastUpdateDateRangeStart.

Step 2: Fetch the billing statement

Get the list of billing statements and find the one whose date range matches your period.
Response:
Fetch the full statement with its embedded transactions to verify your totals:
Cross-reference: the sum of amountValue across all AUTHORIZED transactions in your export should equal the statement’s totalAmount.

Step 3: Tag transactions with accounting labels

Labels let you attach GL codes, cost centers, or project IDs to transactions before exporting. Bind them in bulk for efficiency.
To list available labels, see Labels API.

Step 4: Download supporting documents

For any transaction with hasAttachments.value: true, download the attached receipts.
Response includes pre-signed S3 URLs valid for 12 hours:
For Mexico: transactions with hasInvoice.value: true also have a CFDI XML available at GET /api/v3/transactions/{uuid}/invoices.

Export format

Here is a flat row structure suitable for most accounting systems (SAP, NetSuite, QuickBooks):