Reader ====== .. warning:: Previous implementation of the Reader was moved to :ref:`Universal Parser` section. This is a new improved version of the Reader, old version is deprecated and will be removed in the future. .. note:: It's required to install ``reader``, ``pdf`` and ``codes`` from :ref:`Optional dependencies` section. Aiviro Reader allows you to process PDF files and extract crucial information. Whether it's vendor IDs, customer IDs, total amounts, or more, it simplifies data extraction from invoices. Invoice Processing ------------------ .. list-table:: Supported field extraction :widths: 25 15 60 :header-rows: 1 :class: tight-table * - Name - Type - Description * - language - :class:`~.Language` - Language of the invoice * - customer_id - :class:`str` - Customer reference ID * - customer_ico - :class:`str` - The Czech company ID number of the customer * - customer_tax_id - :class:`str` - The taxpayer number associated with the customer * - customer_address - :class:`~.InvoiceAddress` - Mailing address for the customer * - customer_address_recipient - :class:`str` - Name associated with the customer address * - customer_name - :class:`str` - Name of the customer * - vendor_id - :class:`str` - Vendor reference ID * - vendor_ico - :class:`str` - The Czech company ID number of the vendor * - vendor_tax_id - :class:`str` - The taxpayer number associated with the vendor * - vendor_address - :class:`~.InvoiceAddress` - Vendor mailing address * - vendor_address_recipient - :class:`str` - Name associated with the vendor address * - vendor_name - :class:`str` - Name of the vendor * - invoice_id - :class:`str` - Invoice number * - invoice_date - :class:`datetime.date` - Date the invoice was issued * - due_date - :class:`datetime.date` - Date payment for this invoice is due * - tax_date - :class:`datetime.date` - Date the tax was applied to the invoice * - order_number - :class:`list`, :class:`str` - Order reference number * - total_amount - :class:`decimal.Decimal` - Total amount of the invoice * - total_amount_without_tax - :class:`decimal.Decimal` - Total amount of the invoice without tax * - total_tax - :class:`decimal.Decimal` - Total tax amount of the invoice * - amount_due - :class:`decimal.Decimal` - Amount due for the invoice * - currency - :class:`str` - Currency of the invoice * - variable_symbol - :class:`str` - Variable symbol of the invoice * - payment_terms - :class:`str` - The terms of payment for the invoice * - bank_accounts - :class:`list`, :class:`~.InvoiceBankAccount` - List of bank accounts (IBAN, SWIFT) * - items - :class:`list`, :class:`~.InvoiceItem` - List of invoice items, filtered by `total_amount` and `total_amount_without_tax` * - raw_items - :class:`list`, :class:`~.InvoiceItem` - List of unfiltered invoice items .. list-table:: Invoice items :widths: 25 15 60 :header-rows: 1 :class: tight-table * - Name - Type - Description * - index - :class:`int` - Line item index, starting from 0 * - item - :class:`str` - Full string text line of the line item * - description - :class:`str` - The text description for the invoice line item * - quantity - :class:`decimal.Decimal` - The quantity of the item * - unit_price - :class:`decimal.Decimal` - The net or gross price of one unit of this item * - unit - :class:`str` - The unit of the line item, e.g, kg, lb etc. * - product_code - :class:`str` - Product code, product number, SKU, etc. * - tax - :class:`decimal.Decimal` - Tax associated with the line item * - tax_rate - :class:`decimal.Decimal` - Tax rate associated with the line item * - amount - :class:`decimal.Decimal` - Total amount of the line item (can refer to net or gross amount) .. autoclass:: aiviro.modules.reader.Language :members: .. automodule:: aiviro.modules.reader :members: InvoiceReader, ReaderConfig, InvoiceData, InvoiceAddress, InvoiceBankAccount, InvoiceItem, InvoiceField