A receipt is a digital file representing proof of an expense. Receipts can be uploaded independently or attached to transactions for reconciliation, auditing, or reporting purposes.
There are several ways to create a receipt:
When a receipt is created from a PDF, PNG, or JPEG file, Monite’s OCR service automatically extracts the receipt information from the file and a new receipt is created with the extracted data fields accordingly. The file property of the receipt contains the file metadata and the link to access the original source file.
If you already have the receipt data stored somewhere as individual attributes, you can create a receipt with these attributes by calling POST /receipts. You can provide the base64-encoded contents of the original invoice file in the field base64_encoded_file:
The successful response contains the receipt ID and other fields:
You can attach a receipt file to an existing receipt, in any status, by calling POST /receipts/{receipt_id}/attach_file.
You can upload receipts in the PDF, PNG, or JPEG format to Monite by calling POST /receipts/upload_from_file. Upon file upload, the system automatically initiates OCR to extract structured fields such as merchant_name, total_amount, issued_at, and line_items from the document. The maximum file size is 20 MB:
The successful contains the receipt ID and other parameters:
When the OCR scanning is finished (this might take up to 5-7 minutes), you will receive the receipt.ocr_finished webhook, indicating that this receipt resource has been created:
ocr_status field or by subscribing to the receipt.ocr_finished webhook.POST /receipts/{receipt_id}/cancel_ocr while the ocr_status is in_progress to stop the OCR extraction.Each entity has a dedicated mailbox in Monite to which the receipts can be sent. The entity or entity user can send receipts as attachments in PDF, PNG, or JPEG format to this mailbox (the maximum file size is 20 MB).
The Monite OCR service scans the information inside each email’s attachments. Then, Monite automatically creates a receipt for each occurrence found.
To find the mailbox assigned to a specific entity, call GET /v1/mailboxes:
The successful response contains information about the mailbox:
By default, the automatically created mailboxes belong to the Monite domain (the web address that comes after @ in an email address), but the partners can set up their own email domain for better convenience.
When configuring email imports, make sure the mailbox is created with type receipt (not payable) so incoming emails are correctly filtered for this workflow.
To match a receipt to a transaction, send a PATCH request to the /receipts/{receipt_id} endpoint with the request body containing the transaction_id associated with the recepit:
Receipts can be automatically matched to transactions by an AI-driven matching engine once the OCR is completed.
Easily export transactions and receipts into a CSV file for reporting, analysis, or integration with external tools. The export will include structured fields such as amounts, currencies, merchants, dates, and matching receipt references.
To get information about all receipts associated with the specified entity, call GET /receipts.
To get information about a specific receipt, call GET /receipts/{receipt_id}.
To edit an existing receipt, call PATCH /receipts/{receipt_id}.
To delete a specific receipt, call DELETE /receipts/{receipt_id}.
Each receipt may include one or more line items representing individual goods or services listed on the document. Line items can be extracted via OCR and include structured data such as item name, total, cost_center_id, and accounting_tax_rate_id.
To add line items to a receipt, call the POST /receipts/{receipt_id}/line_items endpoint:
When adding line items, you may need to reference the following objects:
Cost centers (cost_center_id)
POST /cost_centers endpoint.GET /cost_centers endpoint.Ledger accounts (general_ledger_id)
POST /ledger_accounts endpoint.GET /ledger_accounts endpoint.Tax rates (accounting_tax_rate_id)
POST /accounting_tax_rates endpoint.GET /accounting_tax_rates endpoint.To list all line items of a specific receipt, call the GET /receipts/{receipt_id}/line_items endpoint.
To edit a specific line item of a receipt, call the PATCH /receipts/{receipt_id}/line_items/{line_item_id} endpoint.
To remove the line item from the receipt, call the DELETE /receipts/{id}/line_items/{line_item_id} endpoint.