Extract data from catalogues and price lists
A catalogue or price list is the reference a buyer prices an order against and a seller keeps current as costs move. It is not a transaction, it is the source the transactions draw from: a wholesale distributor publishes one so its trade customers know the SKU, the unit price, the pack size, and the quantity at which a cheaper tier kicks in. A purchasing officer reads it to build a requisition, an ecommerce team loads it into a storefront, and a procurement system matches it against incoming quotes. Because the same product can appear across dozens of catalogues, the GS1 Global Trade Item Number gives each item one identifier that survives the crossover. Pricing structure is where a flat table stops being enough. One SKU carries a list price, a unit of measure, and a minimum order quantity, then a set of price-break tiers that lower the unit price as the quantity rises. Item HX-4402, an LED high-bay luminaire, lists at 89.00 EUR each with a minimum order of 10, then drops to 80.10 EUR from 50 units, a 10% break, and to 71.20 EUR from 200 units, a 20% break, so the tier prices have to stay consistent with the discount percentages they claim. Product attributes such as a 150 W rating, an IP65 ingress rating, and a 4000 K colour temperature sit beside the price, and a validity window of 2026-07-01 to 2026-12-31 tells a buyer how long the prices hold. Talonic reads the catalogue and returns the supplier, the currency, the validity window, and the payment and delivery terms as fields, keeping the line items, the pricing tiers, and the product attributes as tables. Tier prices are checked against the discount percentages, so an 80.10 EUR tier that claims a 10% break off 89.00 EUR is verified rather than trusted. A catalogue from Helios Industrial Supplies B.V. valid from 2026-07-01, priced in EUR, loads into a procurement system with its GTINs, its tiers, and its attributes intact, so a buyer prices a requisition from structured data instead of a PDF page. Read as written, the listing carries no negotiated price and no real-time stock check.
What gets extracted from catalogues and price lists
How extraction works for catalogues and price lists
Catalogues and price lists arrive as supplier PDFs, spreadsheet exports, and printed trade lists, and the pricing tiers and the product attributes sit in different layouts on every seller's document. Talonic classifies the catalogue and maps it to the product schema in the Field Registry, aligned to the GS1 web vocabulary, so the GTIN, the SKU, the product name, the unit price, and the unit of measure each resolve to their own field. Line items return as a table of one row per product, pricing tiers as a table where each SKU carries a quantity-from, a quantity-to, a tier unit price, and a discount percentage, and product attributes as a name and value table so a 150 W rating and an IP65 rating stay structured. Tier prices are checked against the discount percentages they claim, so an 80.10 EUR price marked as a 10% break off a 89.00 EUR list price either reconciles or is flagged. Validity window and currency are read once at the header so every price carries its context. Each value returns with a confidence score and a source-region pointer under DIN SPEC 91491, so a buyer can verify a tier price against the source page. Reading the catalogue as written, the tool does not confirm live stock or negotiate the price.
Sample extraction
A wholesale lighting catalogue with quantity price breaks
{
"document_number": "CAT-2026-H2",
"document_date": "2026-06-25",
"valid_from": "2026-07-01",
"valid_to": "2026-12-31",
"supplier.name": "Helios Industrial Supplies B.V.",
"supplier.contact_email": "sales@helios-supplies.example",
"currency": "EUR",
"payment_terms": "Net 30 days",
"delivery_terms": "DAP, Incoterms 2020",
"line_items": [
{
"sku": "HX-4402",
"gtin": "08712345678906",
"product_name": "LED high-bay luminaire 150W",
"unit_price": 89,
"currency": "EUR",
"unit_of_measure": "piece",
"minimum_order_quantity": 10,
"discount_percentage": 0,
"availability_status": "in_stock"
},
{
"sku": "HX-2210",
"gtin": "08712345671204",
"product_name": "Emergency LED driver module",
"unit_price": 42.5,
"currency": "EUR",
"unit_of_measure": "piece",
"minimum_order_quantity": 25,
"discount_percentage": 0,
"availability_status": "in_stock"
}
],
"pricing_tiers": [
{
"sku": "HX-4402",
"quantity_from": 10,
"quantity_to": 49,
"unit_price": 89,
"discount_percentage": 0
},
{
"sku": "HX-4402",
"quantity_from": 50,
"quantity_to": 199,
"unit_price": 80.1,
"discount_percentage": 10
},
{
"sku": "HX-4402",
"quantity_from": 200,
"quantity_to": 9999,
"unit_price": 71.2,
"discount_percentage": 20
}
],
"product_attributes": [
{
"sku": "HX-4402",
"attribute_name": "Power rating",
"attribute_value": "150 W"
},
{
"sku": "HX-4402",
"attribute_name": "Ingress protection",
"attribute_value": "IP65"
},
{
"sku": "HX-4402",
"attribute_name": "Colour temperature",
"attribute_value": "4000 K"
}
]
}Frequently asked
Are the price-break tiers checked against the discount percentages?
Yes. Each tier carries a quantity range, a unit price, and a discount percentage, and the tier price is checked against the list price and the claimed discount, so the 80.10 EUR tier at 50 units is verified as a 10% break off the 89.00 EUR list price and the 71.20 EUR tier as a 20% break.
What identifiers does it capture for each product?
Each line returns the supplier SKU and the GS1 Global Trade Item Number, so the same luminaire keeps one stable GTIN across catalogues while the SKU ties it to this supplier catalogue number and price list.
Does it keep product attributes separate from the price?
Yes. The product attributes table holds a name and value per specification, so a 150 W power rating, an IP65 ingress rating, and a 4000 K colour temperature are structured beside the unit price rather than mixed into the description.
Does the extraction reflect live stock or current pricing?
No. It reads the catalogue as printed, including the availability status and the validity window shown on the document. Whether an item is in stock right now, and whether the price still holds, depends on the seller current system, not the extraction.
Ready to extract from your own catalogues and price lists?
Author note
Reviewed by Talonic engineering, product schema review · last reviewed 2026-07-08