Accounting export
Learn how to export your accounting data from Monite, so you can use this data in an external accounting solutions.
Overview
Monite allows the entities to export all their accounts payable, so they can integrate this data into their accounting systems.
The exported payables data are structured in CSV format and must be selected by specific statuses, and start and end dates.
Export the accounting data
Currently, Monite supports accounting data export to Xero. More export formats will be added in the future.
Xero
The Xero export contains just the essential data for Xero to execute the import. The data exported is not validated on the Monite side. To check Xero’s requirements and validations, check the Xero documentation.
The export is set in tax-exclusive format, which means that the prices in the exported data do not include taxes.
To export the accounting data of a specific entity, send a POST
request to the /data_exports
endpoint specifying the format (csv_xero
), the object type name (payable
) and status, and the date range:
curl -X POST 'https://api.sandbox.monite.com/v1/data_exports' \
-H 'X-Monite-Version: 2024-01-31' \
-H 'X-Monite-Entity-Id: ENTITY_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"format": "csv_xero",
"objects": [
{
"name": "payable",
"statuses": [
"new"
]
}
]
"date_from": "2022-08-10",
"date_to": "2022-08-18"
}'
The successful response contains the data export ID:
{
"id": "edb064b2-af7f-4730-9b73-38c699c383d9"
}
Counterpart-related data will be exported only for payables that have been submitted for approval as the information about the counterpart is inserted into the payables only at this status.
To get the link to download the exported files, send a GET
request to the /data_exports/{data_export_id}
endpoint passing the previously obtained data export ID in the URL:
curl -X GET 'https://api.sandbox.monite.com/v1/data_exports/{data_export_id}' \
-H 'X-Monite-Version: 2024-01-31' \
-H 'X-Monite-Entity-Id: ENTITY_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN'
The successful response contains information about the data export and the source_url
field, which contains the URL to download the exported file:
{
"source_url": "https://monite-file-saver-zip-eu-central-1-sandbox.s3.com/1a65fd3b-...22c4/02825c72-...f04c.zip",
"entity_id": "c23dd09c-077a-4afa-914f-f53fc2748ec4",
"start_datetime": "2022-08-17T13:48:57.455932+00:00",
"end_datetime": "2022-08-17T13:48:57.584375+00:00",
"count": 5,
"id": "edb064b2-af7f-4730-9b73-38c699c383d9",
"language": "pt-br,pt;q=0.9,en-us;q=0.8,en;q=0.7",
"status": "done",
"created_by_entity_user_id": null,
"format": "csv_xero"
}
The file is exported in the ZIP format which includes one or more CSV files, depending on the amount of entries. Each file can contain up to 100 payables with multiple line items per payable.
Bigger exports may take longer to be processed. Meanwhile, their status are presented as
pending
until the export is completed and the file is available for download.
Fields mapping
Fields mapping
This is how the fields between Monite and Xero are associated:
Monite field | Xero field |
---|---|
counterpart.name | *ContactName |
counterpart.email | EmailAddress |
counterpart.address.line1 | POAddressLine1 |
counterpart.address.line2 | POAddressLine2 |
counterpart.address.city | POCity |
counterpart.address.state | PORegion |
counterpart.address.postal_code | POPostalCode |
counterpart.country | POCountry |
document_id | *InvoiceNumber |
issued_at | *InvoiceDate |
due_date | *DueDate |
line_items.description | Description |
line_items.quantity | *Quantity |
line_items.unit_price | *UnitAmount |
line_items.account_code | *AccountCode |
line_items.tax_type | *TaxType |
All the fields are obtained from the payables
object, except tax_type
and account_code
, which are obtained from the /extra_data
settings.
Set default values
Set default values
You can configure default values for specific fields in the exported data to streamline the CSV processing and reduce manual work.
Currently, it is possible to set default values for the account code (default_account_code
) and tax rate code (default_tax_rate_code
) fields, which are mapped to *AccountCode
and *TaxType
respectively on Xero.
Additionally, the counterpart_id
obtained from exported payables is used to search for entries corresponding to this counterpart_id
in the Monite system. If a corresponding register is found, i.e. this counterpart already exists in the Monite system, the exported data is enriched with the counterpart information.
To create a default value for a specific field, send a POST
request to the /data_exports/extra_data
endpoint specifying the :
curl -X POST 'https://api.sandbox.monite.com/v1/data_exports/extra_data' \
-H 'X-Monite-Version: 2024-01-31' \
-H 'X-Monite-Entity-Id: ENTITY_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN'
-H 'Content-Type: application/json' \
-d '{
"object_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"object_type": "counterpart",
"field_name": "default_account_code",
"field_value": "100100"
}'
The successful response contains information about the default value:
{
"id": "4a9053d5-4023-400e-ab00-47adf7737022",
"object_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"object_type": "counterpart",
"field_name": "default_account_code",
"field_value": "100100",
"created_at": "2023-10-05T07:29:17.332Z",
"updated_at": "2023-10-05T07:29:17.332Z",
"created_by": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
List all default values
To get information about all default values, send a GET
request to the /data_exports/extra_data
endpoint.
Retrieve a default value
To get information about a specific default value, send a GET
request to the /data_exports/extra_data/{extra_data_id}
endpoint.
Update a default value
To edit an existing default value, send a PATCH
request to the /data_exports/extra_data/{extra_data_id}
endpoint.
Delete a default value
To delete an existing default value, send a DELETE
request to the /data_exports/extra_data/{extra_data_id}
endpoint.
Check all data exports
To check all the requested data exports, send a GET
request to the /data_exports
endpoint:
curl -X GET 'https://api.sandbox.monite.com/v1/data_exports' \
-H 'X-Monite-Version: 2024-01-31' \
-H 'X-Monite-Entity-Id: ENTITY_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN'
The successful response contains a list of all data exports requested:
{
"data": [
{
"status": "done",
"source_url": "https://monite-file-saver-zip-eu-central-1-sandbox.s3.amazonaws.com/1a65fd...22c4/02825c...ff04c.zip",
"start_datetime": "2022-08-17T13:48:57.455932+00:00",
"format": "csv_xero",
"end_datetime": "2022-08-17T13:48:57.584375+00:00",
"created_by_entity_user_id": null,
"language": "pt-br,pt;q=0.9,en-us;q=0.8,en;q=0.7",
"entity_id": "c23dd09c-077a-4afa-914f-f53fc2748ec4",
"id": "edb064b2-af7f-4730-9b73-38c699c383d9",
"count": 5
}
],
"prev_pagination_token": null,
"next_pagination_token": null
}
Updated about 2 months ago