# Receipt

Here is a quick demo of Mindee V2's Receipt model:

{% @supademo/embed demoId="cmiytadiq07vk14g4techyr3b" url="<https://app.supademo.com/demo/cmiytadiq07vk14g4techyr3b>" %}

## Why Use Mindee for Receipts?

Receipts vary immensely in format, country, language, and quality. Mindee simplifies extraction and ensures high reliability by enabling you to:

* Handle global formats: Our model is trained on receipts from over 50 countries, automatically extracting data points regardless of local layout or language.
* Process poor quality inputs: Robustly extracts data from scanned documents, mobile photos, and even handwritten text on certain fields.
* Capture detailed line items: Accurately extract complex, nested data like individual line items, quantities, and prices for granular expense tracking.
* Get structured output with zero configuration: Start instantly with a pre-trained model that extracts standard fields like total amount, date, vendor name, and expense category.

## Two Ways to Start Using the Receipt Model

Mindee offers two paths to start extracting data from receipts:

### **1. Choose Receipt from Our Catalog**&#x20;

Select the "Receipt" model from our Document Catalog to begin using the pre-trained model immediately. It comes pre-configured to extract all standard financial and descriptive fields (merchant name, total, date, line items, etc.) with high accuracy.

### **2. Customize the Model via Data Schema**

You can instantly tailor the pre-trained model to your exact needs. By navigating to the Data Schema interface, you can:

* Add new fields that are unique to your documents (e.g., internal identifiers, specific customer IDs).
* Delete existing fields that are not relevant to your use case.
* Refine the extraction by modifying field types or adding custom instructions for the AI assistant.

## Receipt Fields

Documentation for all fields present in the data schema.

Field *accessors* are used as the keys for accessing the values in the returned data. On the data schema interface, this is the "Field Name".

Field *value types* indicate how the value is returned by the API. On the data schema interface, this is the "Field Type".

<details>

<summary>Supplier Name</summary>

The name of the supplier of the receipt.

Accessor: `supplier_name`\
Value Type: `string`

Has a single value.

</details>

<details>

<summary>Supplier Address</summary>

The full address of the supplier who delivered the receipt.

Accessor: `supplier_address`\
Value Type: `string`

Has a single value.

</details>

<details>

<summary>Supplier Phone Number</summary>

The phone number of the supplier of the receipt.

Accessor: `supplier_phone_number`\
Value Type: `string`

Has a single value.

</details>

<details>

<summary>Supplier Company Registration</summary>

A list of company registration details including type and number, for the supplier of the receipt.

Accessor: `supplier_company_registration`

**Subfields**

* **Number**\
  The company registration number.\
  Accessor: `number`\
  Value Type: `string`
* **Type**\
  The type of the company registration number.\
  Accessor: `type`\
  Possible Values: `VAT`, `SIRET`, `SIREN`, `NIF`, `CF`, `UID`, `STNR`, `HRA_HRB`, `TIN`, `RFC`, `BTW`, `ABN`, `UEN`, `CVR`, `ORGNRO`, `INN`, `DPH`, `NIP`, `GSTIN`, `CRN`, `KVK`, `DIC`, `TAX_ID`, `CIF`, `GST_HST_CA`, `COC`

Can have multiple values (is a list/array).

</details>

<details>

<summary>Receipt Number</summary>

The number of the receipt.

Accessor: `receipt_number`\
Value Type: `string`

Has a single value.

</details>

<details>

<summary>Date</summary>

The date the receipt was issued.

Accessor: `date`\
Value Type: `date`

Has a single value.

</details>

<details>

<summary>Time</summary>

The time the receipt was issued.

Accessor: `time`\
Value Type: `string`

Has a single value.

</details>

<details>

<summary>Total Amount</summary>

The final total amount paid, including all taxes and discounts.

Accessor: `total_amount`\
Value Type: `number`

Has a single value.

</details>

<details>

<summary>Total Net</summary>

The total amount before taxes.

Accessor: `total_net`\
Value Type: `number`

Has a single value.

</details>

<details>

<summary>Total Tax</summary>

The total amount of all taxes.

Accessor: `total_tax`\
Value Type: `number`

Has a single value.

</details>

<details>

<summary>Taxes</summary>

A list of individual taxes applied, each including rate, base and amount.

Accessor: `taxes`

**Subfields**

* **Rate**\
  The tax rate of this tax as a decimal.\
  Accessor: `rate`\
  Value Type: `number`
* **Base**\
  The base amount on which this tax is computed.\
  Accessor: `base`\
  Value Type: `number`
* **Amount**\
  The computed tax amount for this tax.\
  Accessor: `amount`\
  Value Type: `number`

Can have multiple values (is a list/array).

</details>

<details>

<summary>Tips &#x26; Gratuity</summary>

The total tips and gratuities for the receipt.

Accessor: `tips_gratuity`\
Value Type: `number`

Has a single value.

</details>

<details>

<summary>Line Items</summary>

A list of line items in the receipt, each including description, quantity, unit price and total price.

Accessor: `line_items`

**Subfields**

* **Description**\
  A description of the item or service.\
  Accessor: `description`\
  Value Type: `string`
* **Quantity**\
  The quantity of the item or service.\
  Accessor: `quantity`\
  Value Type: `number`
* **Unit Price**\
  The price per unit of the item or service.\
  Accessor: `unit_price`\
  Value Type: `number`
* **Total Price**\
  The total price for the line item: quantity \* unit price.\
  Accessor: `total_price`\
  Value Type: `number`

Can have multiple values (is a list/array).

</details>

<details>

<summary>Document Type</summary>

Document type: expense receipt or credit card receipt

Accessor: `document_type`\
Possible Values: `expense_receipt`, `credit_card_receipt`

Has a single value.

</details>

<details>

<summary>Purchase Category</summary>

The category of the receipt.

Accessor: `purchase_category`\
Possible Values: `food`, `gasoline`, `parking`, `toll`, `accommodation`, `transport`, `telecom`, `software`, `shopping`, `energy`, `miscellaneous`

Has a single value.

</details>

<details>

<summary>Purchase Subcategory</summary>

The purchase subcategory of the receipt.

Accessor: `purchase_subcategory`\
Possible Values: `restaurant`, `delivery`, `train`, `public`, `taxi`, `car_rental`, `plane`, `micromobility`, `office_supplies`, `electronics`, `cultural`, `groceries`, `other`

Has a single value.

</details>

<details>

<summary>Locale</summary>

The locale contains the language, country and currency of the receipt.

Accessor: `locale`

**Subfields**

* **Language**\
  The language of the receipt, ISO 639-1 language code.\
  Accessor: `language`\
  Value Type: `string`
* **Country**\
  The country of the receipt, ISO 3166-1 alpha-2.\
  Accessor: `country`\
  Value Type: `string`
* **Currency**\
  The currency in which is issued the receipt, ISO 4217.\
  Accessor: `currency`\
  Value Type: `string`

Has a single value.

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mindee.com/use-cases/extraction-models/receipt.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
