Data Fields That Taggun Extracts

Documented public fields Taggun extracts from receipts and invoices, with access paths, endpoint availability, and enablement.

Taggun turns receipts and invoices into structured JSON. This page is the documented public catalogue of extractable fields: what each field contains, where to find it in the response, which endpoints return it, and whether it is enabled by default.

These fields apply to the six data extraction endpoints:

Unless explicitly required, response properties and nested data may be omitted. Some documented envelopes and values explicitly allow null; do not assume that every top-level or feature envelope does. Arrays may be omitted or empty unless a page documents a nullable array, and properties within returned items may be absent. Guard the object and usable value before use. Types below describe populated values, not a guarantee that a property is returned for every document.

Core Fields

FieldDescriptionTypeAccess PathEndpointsAccess
Total AmountThe total value of the transactionNumbertotalAmount.dataSimple & VerboseAuto-enabled
Tax AmountThe total amount of tax in the transactionNumbertaxAmount.dataSimple & VerboseAuto-enabled
DateThe date of the transactionDatedate.dataSimple & VerboseAuto-enabled
Merchant NameThe name of the merchant who issued the receiptStringmerchantName.dataSimple & VerboseAll plans; Extract Merchant Details setting
Merchant AddressMerchant's full address details including city, state, country code, and postal codeTextmerchantAddress.dataSimple & VerboseAll plans; Extract Merchant Details setting
Paid AmountThe amount paid in the transactionNumberpaidAmount.dataVerbose onlyAuto-enabled
Discount AmountThe total discount applied to the transactionNumberdiscountAmount.dataVerbose onlyAuto-enabled
Currency (Total Amount)The currency of the total amountStringtotalAmount.currencyCodeVerbose onlyAuto-enabled
Due DateThe due date on an invoice, if presentDatedueDate.dataVerbose onlyAuto-enabled
Invoice NumberThe invoice number, if availableStringentities.invoiceNumber.dataVerbose onlyAll plans; Invoice Number setting
Receipt NumberThe receipt number, if available. Also known as a slip number or check number on some receipts — Taggun treats all of these as the receipt number. Where a document shows both a receipt and an invoice number and both fields are enabled, the two often return the same valueStringentities.receiptNumber.dataVerbose onlyAll plans; Receipt Number setting
All TextRaw OCR text from the fileStringtext.textVerbose onlyAuto-enabled

Product Line Item Fields

Product line items are returned as entities.productLineItems[]. Each entry represents one extracted line item. Repeated products or duplicate-looking lines may appear; entries are not guaranteed unique.

FieldTypeDescriptionAccess PathEndpointsAccess
Product/Service NameStringThe name of the itementities.productLineItems[].data.name.dataVerbose onlyAuto-enabled
QuantityNumberHow many of the item were purchasedentities.productLineItems[].data.quantity.dataVerbose onlyAuto-enabled
Unit PriceNumberThe price of a single itementities.productLineItems[].data.unitPrice.dataVerbose onlyAuto-enabled
Total PriceNumberThe total price for this line itementities.productLineItems[].data.totalPrice.dataVerbose onlyAuto-enabled
Line Item IndexNumberA numeric extraction index associated with the item; it is not the item's zero-based array position. Do not rely on it for sorting until its ordering semantics are documentedentities.productLineItems[].indexVerbose onlyAuto-enabled
Product Identifier / SKUStringA printed product identifier such as a SKU, UPC/barcode, PLU, item/model code, or similar identifier, when availableentities.productLineItems[].data.sku.dataVerbose onlyStartup+; account capability
Item NumberStringAn item number printed for the line item, when availableentities.productLineItems[].data.itemNumber.dataVerbose onlyStartup+; account capability

These are line-item fields; the public response schema does not contain a standalone serialNumber field. For the full set of line item fields—including per-item discount and category—and a worked example, see Line Item Extraction.

Detailed Merchant Location Fields

FieldTypeDescriptionAccess PathEndpointsAccess
Merchant CountryStringThe country code of the merchant's addressmerchantCountryCode.dataSimple & VerboseAll plans; Extract Merchant Details setting
Merchant StateStringThe state or region of the merchant's addressmerchantState.dataSimple & VerboseAll plans; Extract Merchant Details setting
Merchant CityStringThe city where the merchant is locatedmerchantCity.dataSimple & VerboseAll plans; Extract Merchant Details setting
Merchant Postal CodeStringThe postal or ZIP code of the merchant's addressmerchantPostalCode.dataSimple & VerboseAll plans; Extract Merchant Details setting
Merchant TypesArrayMerchant category/type hints when availablemerchantTypes.dataSimple & VerboseAll plans; Extract Merchant Details setting

For standardised merchant names and verified locations, see Merchant Intelligence.

Detailed Tax Fields

FieldTypeDescriptionAccess PathEndpointsAccess
Currency (Tax Amount)StringThe currency of the tax amounttaxAmount.currencyCodeVerbose onlyAuto-enabled
Merchant Tax IDStringThe tax ID of the merchant, where applicablemerchantTaxId.dataVerbose onlyRegional → Merchant Tax ID
Multi-Tax Line ItemsArrayDetailed information on multiple tax types and ratesentities.multiTaxLineItemsVerbose onlyRegional → Multi-Tax
IBANStringBank account information, when present on supported European receipts or invoicesentities.IBAN.dataVerbose onlyGeneral → IBAN

Payment Fields

How the transaction was paid. General → Payment Type controls the documented payment-method field. Card last-four output remains account-configured; no separate public last4 control is documented.

FieldTypeDescriptionAccess PathEndpointsAccess
Card Last 4StringThe last four digits of the payment card, when printed on the receiptentities.last4.dataVerbose onlyAccount-configured; no separate public control documented
Payment TypeStringThe detected payment method, normalised to a canonical value from a fixed keyword table — values include visa, mastercard, american_express, eftpos, cash, credit_card, debit_card, alipay, wechatpaymentType.dataVerbose onlyGeneral → Payment Type

Payment type is matched against a keyword table rather than free-form extraction, so values come back normalised. When the receipt shows a card network (a Visa or Mastercard sale, for example), the network is the paymentType value — there is no separate card-network field. The card's last four digits are the separate entities.last4.data field. The value list above is representative, not exhaustive.

Fraud Detection Fields

These fields are part of the Fraud Detection Suite (Advanced plan and above).

FieldTypeDescriptionAccess PathEndpointsAccess
Tamper DetectionBooleanWhether the receipt appears tampered withentities.tamperDetection.data.isTamperedVerbose onlyAdvanced+; **Tamper Detection**
Tamper ScoreNumberThe likelihood that the receipt has been tamperedentities.tamperDetection.data.tamperedScoreVerbose onlyAdvanced+; **Tamper Detection**
Handwriting DetectionBooleanWhether the receipt contains handwritten elementsentities.handwritingDetection.data.isHandwrittenVerbose onlyAdvanced+ account setting
Handwriting ScoreNumberThe likelihood that the receipt contains handwritingentities.handwritingDetection.data.handwrittenScoreVerbose onlyAdvanced+ account setting
Digital Receipt DetectionBooleanWhether the receipt appears digitally created rather than photographedentities.digitalDetection.data.isDigitalVerbose onlyAdvanced+ account setting
Digital ScoreNumberConfidence that the receipt is digitally createdentities.digitalDetection.data.digitalScoreVerbose onlyAdvanced+ account setting
Similar ReceiptsArrayPotential duplicate receipts matched from previous scansentities.similarReceiptsVerbose onlyAdvanced+ account setting

Extraction and Validation Response Paths

ResultVerbose extractionReceipt validation
Similarityentities.similarReceiptssimilarReceipts (array or null)
Tamper flag/scoreentities.tamperDetection.data.isTampered / entities.tamperDetection.data.tamperedScoretamperDetection.isTampered / tamperDetection.tamperedScore
Digital flag/scoreentities.digitalDetection.data.isDigital / entities.digitalDetection.data.digitalScoredigitalDetection.data.isDigital / digitalDetection.data.digitalScore
Handwritingentities.handwritingDetection.data.*Not run

Validation moves these result envelopes to the response root, but their inner shapes are not uniform: tamper values are flattened while digital values remain under digitalDetection.data. See Validating Receipts. Build decisions on the boolean flags and set your own thresholds on the scores — each check's page explains how.

Analysis Fields

FieldTypeDescriptionAccess PathEndpointsAccess
Confidence LevelNumberDocument- or field-level response property; see Understanding Your ResultsconfidenceLevel or <field>.confidenceLevelSimple & VerboseAuto-enabled
Per-field TextStringThe raw OCR text associated with an extracted field<field>.textVerbose onlyAuto-enabled
Per-field DataVariesThe cleaned and standardised value from the file, ready for direct use in applications or further processing<field>.dataSimple & VerboseAuto-enabled
Per-field RegionsArrayThe coordinates of the area of the receipt where the field was found<field>.regionsVerbose onlyAuto-enabled
Per-field IndexNumberNumeric index metadata returned with some extracted fields. Ordering semantics are not part of the current public contract<field>.indexVerbose onlyAuto-enabled
Target RotationNumberNumeric image-rotation value returned by processing. Units, direction, and normalisation are not currently documentedtargetRotationVerbose onlyAuto-enabled
Elapsed TimeNumberThe time taken to process the receipt (in milliseconds)elapsedVerbose onlyAuto-enabled
Tracking IDStringA unique ID to track the processed receipttrackingIdVerbose onlyAuto-enabled
Items CountNumberThe total quantity across extracted line items (the sum of productLineItems[].data.quantity), when line items are extracted. Distinct from entities.additionalReceiptProperties.numberOfItems; use entities.productLineItems[] for the actual line-item records.itemsCount.dataVerbose onlyAuto-enabled

Simple named field objects can contain data and confidenceLevel. Verbose responses add raw text, location and index metadata, currency metadata where applicable, scan metadata, and feature envelopes. For how these properties fit together, see Understanding Your Results.

Verbose Helper Arrays

Verbose responses can include helper arrays that expose candidate values found during extraction. Use the named fields above (totalAmount, taxAmount, entities.productLineItems[], and so on) for production decisions; use these arrays when you need to inspect or debug all candidate amounts or numbers returned by the model.

FieldTypeDescriptionAccess PathEndpointsAccess
All Amount CandidatesArrayMonetary values detected on the document, including totals, subtotals, taxes, line prices, discounts, and payment amountsamounts[]Verbose onlyAuto-enabled
All Number CandidatesArrayNumeric values detected on the document, such as order numbers, terminal IDs, quantities, codes, and other numbersnumbers[]Verbose onlyAuto-enabled
Line Amount CandidatesArrayLine-level amount candidates when returned by the extraction modellineAmounts[]Verbose onlyAuto-enabled

Feature-Specific Response Envelopes

Some account settings add their own objects under entities. These properties remain optional even when a setting is enabled. Depending on the feature-specific schema, a returned envelope may contain confidenceLevel: 0, an empty array, omitted data, or an explicitly nullable value. Check the feature page and the nested usable value before use. Other settings can change processing behaviour without adding a dedicated response object.

Feature / settingAccess PathAccessWhere to read more
Receipt-level categorisation / Product Categoriesentities.categoryStartup+; Product CategoriesPurchase Categorisation
Merchant intelligence / Normalised Merchant Locationentities.normalisedMerchantStartup+; Normalised Merchant Location; requires known-merchants listMerchant Intelligence
Fraud detectionentities.similarReceipts, entities.tamperDetection, entities.digitalDetection, entities.handwritingDetectionAdvanced+ account settingsFraud Detection Overview
Regional receipt detailsentities.brazilReceiptDetails, entities.chileReceiptDetails, entities.columbiaReceiptDetails, entities.spainReceiptDetailsRegional account settingsSupported Countries & Languages
Additional Receipt Propertiesentities.additionalReceiptPropertiesStartup+ account settingReceipt-level metadata such as item count, till number, or served-by text when available
Customer Detailsentities.customerDetailsAvailable on all plans as a self-service setting under Account Settings → Feature Settings → General. Enable or disable Email, Name, VAT Number, or the grouped Customer Details control using the checkboxes. entities.customerDetails and its child properties remain optional; returned child values can be null or otherwise unusable, so check the nested value before use.Customer name, email, or VAT number when printed and detected
ABNentities.ABNRegional → ABNAustralia

Customer and additional receipt properties

These fields are optional and available on verbose endpoints when the corresponding account setting is enabled:

FieldTypeAccess PathAccess
Customer EmailStringnullentities.customerDetails.email.data
Customer NameStringnullentities.customerDetails.name.data
Customer VAT NumberStringnullentities.customerDetails.vatNumber.data
Number of ItemsNumbernullentities.additionalReceiptProperties.numberOfItems.data
Till NumberStringnullentities.additionalReceiptProperties.tillNumber.data
Served ByStringnullentities.additionalReceiptProperties.servedBy.data

Region-Specific Fields

Taggun extracts additional data fields depending on the receipt's country of origin — tax ID validation, document type classification, country-specific QR formats or workflows, and more. These are documented on the country pages:

For the full list of supported countries and languages, see Supported Countries & Languages.

📘

Receipt validation returns different fields

The fields on this page apply to the data extraction endpoints. Receipt validation endpoints return validation results instead — see the Campaign Settings Reference and Validating Receipts.

Don't See What You Need?

If a specific data field is not available, we want to hear from you. Contact us at [email protected] to request support for additional fields — see Contacting Support.


Did this page help you?