Accounting & Finance

AI-powered API

Invoice Parsing

Extract structured data from invoice files

Automate your accounts payable workflow with our AI-powered Invoice Parsing API. Upload any invoice document and receive fully structured data - from vendor and buyer details to line items, tax breakdowns, and payment terms - ready for your ERP, accounting system, or custom pipeline.

Supported invoice formats - 8 file types: DOC, DOCX, PDF, JPG, JPEG, PNG, TIFF, TIF

Yes - it handles scanned invoices, photographed receipts, and flattened PDFs where the invoice content is embedded as images rather than selectable text.

This endpoint extracts an exceptionally detailed data structure covering every aspect of an invoice: document metadata, seller and buyer information (including addresses, VAT IDs, and bank details), financial summaries with tax breakdowns, individual line items, payment terms, logistics data, e-invoice references, and more.

This API is ideal for developers building accounting platforms, expense management tools, procurement systems, or ERP integrations. It automates the extraction of invoice data that would otherwise require manual data entry, ensuring accuracy and dramatically reducing processing time. Use cases include automated accounts payable processing, invoice data validation, spend analytics, vendor management, and financial reconciliation workflows.

The file has to be uploaded as form-data parameter called file. An optional language parameter can also be provided (English value is set as the default one).

AI jobs involve two key steps:

  1. Submitting the AI job: Initiating the process by sending the job request.
  2. Monitoring and receiving results: Continuously checking the job status and obtaining the final output upon successful completion.


SharpAPI SOC 2 Type II

SharpAPI is now SOC 2 Type II compliant. You can check details at our Trust Center Portal.

Your data is your data. Learn how we protect it and comply with global privacy standards in our Data Handling and Compliance policy .

Step 1. Submit the AI Job request

Endpoint: POST - /api/v1/finance/parse_invoice

REQUEST EXAMPLE:

curl --location 'https://sharpapi.com/api/v1/finance/parse_invoice' \
--header 'Accept: application/json' \
-H "Authorization: Bearer YOUR_API_TOKEN" \
--form 'file=@"invoice.pdf"'

RESPONSE EXAMPLE:

{
  "status_url": "https://sharpapi.com/api/v1/finance/parse_invoice/job/status/e00ebeec-6df3-4282-b515-8c447ea5d6ab",
  "job_id": "e00ebeec-6df3-4282-b515-8c447ea5d6ab"
}

Step 2. Monitor & Fetch AI Job Results

Endpoint: GET - /api/v1/finance/parse_invoice/job/status/:uuid

An endpoint is used to check on the progress of the requested API job.

RESULT EXAMPLE:

{
    "data": {
        "type": "api_job_result",
        "id": "e00ebeec-6df3-4282-b515-8c447ea5d6ab",
        "attributes": {
            "status": "success",
            "type": "invoice_parse",
            "result": [
                {
                    "source_pages": [
                        1
                    ],
                    "document": {
                        "type": "invoice",
                        "original_type_label": "Invoice",
                        "is_invoice": true,
                        "is_copy": false,
                        "copy_type": null
                    },
                    "invoice": {
                        "invoice_number": "D7BDFA00-0019",
                        "issue_date": "2025-12-07",
                        "due_date": "2025-12-07",
                        "document_date": null,
                        "order_date": null,
                        "delivery_date": null,
                        "shipping_date": null,
                        "pricing_date": null,
                        "currency": "USD",
                        "exchange_rate": null,
                        "page_info": "1 of 1",
                        "amount_in_words": "",
                        "notes": "",
                        "remarks": "",
                        "delivery_instructions": "",
                        "terms_and_conditions": [],
                        "late_payment_interest_rate": null
                    },
                    "references": {
                        "delivery_order_number": "",
                        "purchase_order_number": "",
                        "sales_order_number": "",
                        "customer_reference": "",
                        "external_document_number": "",
                        "grn_number": "",
                        "route_number": "",
                        "lorry_number": "",
                        "serial_number": "",
                        "batch_number": "",
                        "other_references": []
                    },
                    "e_invoice": {
                        "uuid": "",
                        "e_invoice_code": "",
                        "e_invoice_type": "",
                        "e_invoice_version": "",
                        "submission_id": "",
                        "submission_document_id": "",
                        "submission_long_id": "",
                        "submission_status": "",
                        "validation_datetime": null,
                        "digital_signature_present": false,
                        "validated_link": "",
                        "original_e_invoice_ref": "",
                        "qr_code_present": false
                    },
                    "seller": {
                        "name": "OpenAl, LLC",
                        "trade_name": "OpenAl",
                        "registration_number": "",
                        "tin": "",
                        "sst_id": "",
                        "gst_id": "",
                        "vat_id": "GB434338990",
                        "msic_code": "",
                        "business_activity": "",
                        "address": {
                            "street_line_1": "548 Market Street",
                            "street_line_2": "PMB 97273",
                            "city": "San Francisco",
                            "state": "California",
                            "postcode": "94104-5401",
                            "country": "US"
                        },
                        "phone": "",
                        "fax": "",
                        "email": "",
                        "website": "",
                        "bank_details": [
                            {
                                "bank_name": "",
                                "account_name": "",
                                "account_number": "",
                                "sort_code": "",
                                "swift_code": "",
                                "iban": ""
                            }
                        ],
                        "contact_person": {
                            "name": "",
                            "role": "",
                            "phone": "",
                            "email": ""
                        }
                    },
                    "buyer": {
                        "name": "A2Z WEB LTD",
                        "trade_name": "",
                        "registration_number": "",
                        "tin": "",
                        "brn": "",
                        "sst_id": "",
                        "gst_id": "",
                        "vat_id": "",
                        "customer_account_number": "",
                        "billing_address": {
                            "location_name": "",
                            "street_line_1": "Unit 10 Enterprise Court, Farfield",
                            "street_line_2": "Park",
                            "city": "Rotherham",
                            "state": "",
                            "postcode": "S63 5DB",
                            "country": "GB"
                        },
                        "delivery_address": {
                            "recipient_name": "",
                            "location_name": "",
                            "street_line_1": "Unit 10 Enterprise Court",
                            "street_line_2": "Farfield Park",
                            "city": "Rotherham",
                            "state": "",
                            "postcode": "S63 5DB",
                            "country": "GB"
                        },
                        "delivery_address_same_as_billing": false,
                        "phone": "",
                        "fax": "",
                        "email": "",
                        "attention_to": {
                            "name": "",
                            "phone": "",
                            "email": ""
                        }
                    },
                    "sales_info": {
                        "salesperson_name": "",
                        "salesperson_code": "",
                        "salesperson_phone": "",
                        "sales_agent": "",
                        "sales_location": "",
                        "sales_department": "",
                        "outlet_name": ""
                    },
                    "financials": {
                        "subtotal": 15.57,
                        "gross_amount": null,
                        "total_discount_amount": null,
                        "shipping_charge": null,
                        "delivery_fee": null,
                        "total_excl_tax": 15.57,
                        "total_tax_amount": 3.11,
                        "service_tax_amount": null,
                        "total_incl_tax": 18.68,
                        "rounding_adjustment": null,
                        "total_payable": 18.68,
                        "amount_paid": null,
                        "amount_due": 18.68,
                        "tax_details": [
                            {
                                "tax_type": "VAT",
                                "tax_rate": 20,
                                "taxable_amount": 15.57,
                                "tax_amount": 3.11
                            }
                        ]
                    },
                    "line_items": [
                        {
                            "line_number": 1,
                            "item_code": "",
                            "stock_code": "",
                            "barcode": "",
                            "description": "OpenAl API usage credit",
                            "classification_code": "",
                            "country_of_origin": "",
                            "quantity": 1,
                            "free_quantity": null,
                            "unit_of_measure": "",
                            "unit_of_measure_raw": "",
                            "pack_size": "",
                            "total_units": null,
                            "weight": null,
                            "weight_uom": "",
                            "unit_price": 15.57,
                            "discount_percent": null,
                            "discount_amount": null,
                            "subtotal": 15.57,
                            "tax_rate": 20,
                            "tax_type": "VAT",
                            "tax_amount": 3.11,
                            "total_excl_tax": 15.57,
                            "total_incl_tax": null,
                            "expiry_date": null,
                            "batch_lot_number": "",
                            "service_start_date": null,
                            "service_end_date": null
                        }
                    ],
                    "payment": {
                        "payment_terms": "",
                        "payment_terms_days": null,
                        "payment_method": "",
                        "payment_date": null,
                        "payment_reference": "",
                        "jompay_biller_code": "",
                        "jompay_ref_1": ""
                    },
                    "logistics": {
                        "shipping_method": "",
                        "vehicle_number": "",
                        "driver_name": "",
                        "delivery_zone": "",
                        "delivery_time_constraint": "",
                        "carton_count": null,
                        "total_volume": null,
                        "total_weight": null,
                        "goods_received_confirmation": false,
                        "received_by": "",
                        "receiver_signature_present": false
                    }
                }
            ]
        }
    }
}