⌘ QR Code extraction


This documentation outlines the newly integrated QR Code Feature for the Receipt & Invoice OCR (Optical Character Recognition) API. This feature enables the seamless extraction of data from QR codes found on receipts and invoices, enriching the data extraction capabilities of the API.

QR Code Extraction for Brazilian Receipts and SEFAZ

In Brazil, receipts, especially fiscal receipts, are standardized and often contain a QR Code that complies with regulations set by SEFAZ (Secretaria da Fazenda), the state treasury department. These QR codes are essential for fiscal validation, containing a URL link to the information about the sale, including purchase items, taxes, and the entity involved.

Advanced Detection Capabilities

The QR Code Feature in the Receipt & Invoice OCR API is engineered with advanced detection capabilities that allow it to accurately identify and decode QR codes in any position or orientation, as long as they are completely visible in the image. This flexibility ensures reliable data extraction even from QR codes that are not perfectly aligned or situated in unconventional positions on receipts and invoices.

An example

Check out the example receipt which is off-centred and skewed QR Code at the bottom. Our tech can easily read it, even when it's not perfectly aligned and straight.

How to Use the QR Code extraction?

  1. Integration: This feature is part of the existing Receipt & Invoice OCR API verbose endpoints. Ensure your system is already integrated with this API.
  2. Enable QR Code Feature: To use this feature, we need to enable it in your API settings. Contact us at Taggun [email protected] to get access to QR Code extraction (as this is currently an opt in product).


The API response will include a new section for QR Code data, as shown in this example:

  "entities": {
    "qrCodeData": {
      "data": "01,10,031001900211,15004826,109.72,20190617,11467310187259010073,908E",
      "text": "01,10,031001900211,15004826,109.72,20190617,11467310187259010073,908E"

What’s Next

Checkout the verbose endpoint