Monite OCR

Maximize the potential of the Monite OCR engine.

Overview

Monite’s OCR provides a flexible, standalone endpoint for extracting text data from documents across multiple formats, including PDF, JPG, and PNG. The Monite OCR returns a structured JSON response with all detected text data for contextual analysis, enabling use cases such as receipt parsing, contract analysis, or custom form data extraction. The response retains the extracted content without post-processing, allowing you to integrate and manipulate the data according to your specific requirements.

This OCR endpoint is a generic one and is not meant to replace the existing OCR for Accounts Payable (AP).

Considerations and limitations

  • The OCR process is asynchronous and the processing time may vary according to the document size.
  • The maximum image file size is 10 MB.
  • Multipage PDF files can have up to 10 pages.

Covered languages

Here is the list of languages that Monite OCR supports:

  • Afrikaans
  • Arabic
  • Armenian
  • Bulgarian
  • Catalan
  • Chinese
  • Croatian
  • Czech
  • Danish
  • Dutch
  • English
  • Estonian
  • Finnish
  • French
  • German
  • Greek
  • Hungarian
  • Icelandic
  • Indonesian
  • Italian
  • Japanese
  • Korean
  • Lao
  • Latvian
  • Lithuanian
  • Malay
  • Norwegian
  • Polish
  • Portuguese
  • Romanian
  • Russian
  • Serbian
  • Slovak
  • Slovenian
  • Spanish
  • Swedish
  • Turkish
  • Ukrainian
  • Vietnamese

Process files via URL

To process a file, thus creating an OCR task, call POST /ocr_tasks. The query parameter document_type is mandatory and its possible values are invoice, credit_note, and receipt::

1curl -X PATCH 'https://api.sandbox.monite.com/v1/ocr_tasks' \
2 -H 'accept: application/json' \
3 -H 'x-monite-version: 2024-05-25' \
4 -H 'x-monite-entity-id: aad60980-e2d0-436d-aa68-b9463f39870c' \
5 -H 'Content-Type: application/json' \
6 -d '{
7 "document_type": "invoice",
8 "file_url": "https://www.file.com/invoice.pdf"
9 }'

The successful response contains the information found in the file:

1{
2 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3 "created_at": "2025-02-11T14:18:01.013Z",
4 "updated_at": "2025-02-11T14:18:01.013Z",
5 "status": "processing",
6 "document_type": "invoice",
7 "recognized_data": {
8 "type": "invoice",
9 "currency": "EUR",
10 "due_date": "2025-02-25",
11 "issue_date": "2025-02-11",
12 "document_number": "DE2287",
13 "sender": {
14 "vat_number": "DE123456789",
15 "tax_number": "123/456/78901",
16 "email": "billing@acme-corp.com",
17 "name": "Acme Corporation",
18 "address": {
19 "street_and_number": "123 Business Road",
20 "city": "Berlin",
21 "postal_code": "10115",
22 "country": "DE",
23 "state": "Berlin"
24 },
25 "bank_account": {
26 "bank_account_number": "1234567890",
27 "iban": "DE89370400440532013000",
28 "swift_bic": "COBADEFFXXX"
29 }
30 },
31 "recipient": {
32 "vat_number": "FR987654321",
33 "tax_number": "FR12345678901",
34 "email": "finance@xyz-enterprise.fr",
35 "name": "XYZ Enterprise",
36 "address": {
37 "street_and_number": "456 Market Street",
38 "city": "Paris",
39 "postal_code": "75001",
40 "country": "FR",
41 "state": "Île-de-France"
42 },
43 "bank_account": {
44 "bank_account_number": "0987654321",
45 "iban": "FR7630006000011234567890189",
46 "swift_bic": "BNPAFRPPXXX"
47 }
48 },
49 "subtotal": 2000.00,
50 "total_amount": 2380.00,
51 "tax_amount": 380.00,
52 "tax_rate": 19.00,
53 "amount_paid": 0.00,
54 "payment_terms": "Payment due within 14 days",
55 "line_items": [
56 {
57 "line_reference": "ITEM001",
58 "name": "Consulting Services",
59 "description": "IT consulting services for January 2025",
60 "quantity": 10,
61 "unit_price": 200.00,
62 "unit": "hour",
63 "subtotal": 2000.00,
64 "tax_rate": 19.00,
65 "tax_amount": 380.00,
66 "total_amount": 2380.00
67 }
68 ]
69 }
70}

Upload from file

You can upload files in the PDF, PNG, or JPG format by calling POST /ocr_tasks/upload_from_file. The query parameter document_type is mandatory and its possible values are invoice, credit_note, and receipt:

1curl -X POST 'https://api.sandbox.monite.com/v1/ocr_tasks/upload_from_file?document_type=invoice' \
2 -H 'accept: application/json' \
3 -H 'x-monite-version: 2024-05-25' \
4 -H 'x-monite-entity-id: 3b28a315-1e10-46bf-8d83-37f64147ae9f' \
5 -H 'Content-Type: multipart/form-data' \
6 -F 'file=@Invoice-01-25.pdf;type=application/pdf'

The sucessful response contains the id and other parameters of the file:

1{
2 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3 "created_at": "2025-02-11T14:18:01.013Z",
4 "updated_at": "2025-02-11T14:18:01.013Z",
5 "status": "processing",
6 "document_type": "invoice",
7 "recognized_data": {
8 "type": "invoice",
9 "currency": "EUR",
10 "due_date": "2025-02-25",
11 "issue_date": "2025-02-11",
12 "document_number": "DE2287",
13 "sender": {
14 "vat_number": "DE123456789",
15 "tax_number": "123/456/78901",
16 "email": "billing@acme-corp.com",
17 "name": "Acme Corporation",
18 "address": {
19 "street_and_number": "123 Business Road",
20 "city": "Berlin",
21 "postal_code": "10115",
22 "country": "DE",
23 "state": "Berlin"
24 },
25 "bank_account": {
26 "bank_account_number": "1234567890",
27 "iban": "DE89370400440532013000",
28 "swift_bic": "COBADEFFXXX"
29 }
30 },
31 "recipient": {
32 "vat_number": "FR987654321",
33 "tax_number": "FR12345678901",
34 "email": "finance@xyz-enterprise.fr",
35 "name": "XYZ Enterprise",
36 "address": {
37 "street_and_number": "456 Market Street",
38 "city": "Paris",
39 "postal_code": "75001",
40 "country": "FR",
41 "state": "Île-de-France"
42 },
43 "bank_account": {
44 "bank_account_number": "0987654321",
45 "iban": "FR7630006000011234567890189",
46 "swift_bic": "BNPAFRPPXXX"
47 }
48 },
49 "subtotal": 2000.00,
50 "total_amount": 2380.00,
51 "tax_amount": 380.00,
52 "tax_rate": 19.00,
53 "amount_paid": 0.00,
54 "payment_terms": "Payment due within 14 days",
55 "line_items": [
56 {
57 "line_reference": "ITEM001",
58 "name": "Consulting Services",
59 "description": "IT consulting services for January 2025",
60 "quantity": 10,
61 "unit_price": 200.00,
62 "unit": "hour",
63 "subtotal": 2000.00,
64 "tax_rate": 19.00,
65 "tax_amount": 380.00,
66 "total_amount": 2380.00
67 }
68 ]
69 }
70}

List all OCR tasks

To obtain a list of all OCR tasks, call GET /ocr_tasks.

Retrieve a specific OCR tasks

To obtain information about a specific OCR task, call GET /ocr_tasks/{task_id}.