From Supplier PDFs to Product Data: Where AI Needs a Second Check

Illustrated infographic summarizing: From Supplier PDFs to Product Data: Where AI Needs a Second Check

By Greg Nowak. Updated 7 October 2026.

A supplier PDF can give you a perfectly plausible price for the wrong product. Or the right product with a price per box, while your shop sells individual items. The extraction looks tidy; the catalogue update still needs work.

AI is useful for interpreting awkward layouts and inconsistent descriptions. Before its output reaches your store or product information system, you need to check coverage, product identity and what the values mean. For business owners, operations leads and agency teams, the practical question is: which records can proceed, and which decisions need a person?

Start with the import you actually need

Agree whether this batch creates products, updates existing ones or does both. List the fields it may change. A supplier price update should not casually overwrite descriptions your team has already edited.

Choose one supplier format and a representative sample for the first run. Include difficult records: missing identifiers, pack prices, repeated SKUs and variations. Agree who approves commercial questions and who owns the destination mapping. This keeps technical cleanup from becoming an endless exchange of spreadsheets.

Check that the whole file is accounted for

OpenAI’s Responses API processes PDFs and spreadsheets differently. For vision-capable models, PDF input includes extracted text and page images. Spreadsheet file inputs use an augmentation process that parses up to the first 1,000 rows per sheet, with summaries and header metadata. These are limits of that input route, described in the official file-input documentation.

For complete workbook ingestion, read relevant sheets and rows in Python before using AI to interpret unclear content. Record the filename, version, sheet or page, and source record location. Explain exclusions such as headings, totals and discontinued products.

For PDFs, track page coverage and product completeness separately. A processed page may still contain a missed product. Check extracted records against visible tables or available supplier totals, and inspect dense layouts. Never treat a successful API response as evidence that the catalogue is complete.

Require evidence alongside extracted values

Use a consistent extraction schema: supplier, supplier identifier, description, raw price, currency, selling unit, pack quantity and source location. Keep raw wording alongside proposed values. Where information is missing, allow an explicit unknown rather than encouraging the model to fill every field.

OpenAI Structured Outputs can enforce a response schema, but the documentation warns that outputs can still contain mistakes. Your application must also handle refusals and incomplete responses before treating a record as extracted.

Verify critical values against the source, including any page reference supplied by the model. Review ambiguous evidence before approving a record; a confident-looking answer cannot settle an unclear selling unit.

Supplier data: what can proceed and what needs a decision
Checkpoint Proceed when Hold when
Coverage Relevant records are accounted for Pages, rows or products may be missing
Product match An approved identifier maps to the intended SKU The key is blank, unmatched or unexpectedly duplicated
Price and units Currency, pack basis and measurement meaning are confirmed A conversion requires an assumption
Change approval Only agreed fields change under documented rules A change exceeds an agreed review threshold
Import test Destination records match the approved export Rows fail, fields disappear or unexpected products appear

Match the product before changing its data

Store identifiers as text. Leading zeros and punctuation may matter. If product codes are unique only within a supplier, use supplier plus identifier as the matching key. Reject blank and null keys before joining; pandas can match null keys to each other.

For implementation, retain incoming records with how="left", expose matches with indicator=True, and enforce the expected relationship with validate="one_to_one" or validate="many_to_one". The latter requires unique keys in the right-hand lookup. These controls are documented in pandas.merge.

Investigate duplicates instead of silently dropping them. Similar names can help a reviewer find a candidate, but require an approved mapping before updating an existing SKU.

Settle pack prices, units and commercial rules

If a supplier lists EUR 48 for a box of 12, EUR 4 per item is a possible conversion only after confirming that your catalogue sells those items individually. Keep purchase cost separate from retail price, and confirm tax treatment, minimum order quantity and the price’s effective date.

Measurements need definitions too. Product weight, shipping weight and pack weight are different fields. Confirm meaning and source unit before converting. Document decimal separators, rounding, attribute vocabulary and any currency conversion rule. Preserve raw and normalized values so a reviewer can follow the calculation.

Compare proposed updates with current catalogue values. Use agreed thresholds to flag unusual changes, and hold conflicting supplier prices for a commercial decision. A numeric value that passes formatting checks may still be unsuitable to publish.

Make the exception report usable

Each held record should show the source location, original value, proposed value, failed check and decision needed. Assign an owner: the catalogue lead might resolve attributes, while purchasing confirms pack quantities and prices.

Account for every incoming product as approved, held or deliberately excluded. Preserve links where one source product creates several destination rows. Record-level reconciliation matters as much as matching totals. Save reusable corrections as rules; keep one-off judgments attached to their records.

Test the destination, then expand the batch

Export approved records only. For WooCommerce, follow its CSV importer guide: use UTF-8 CSV, check column mappings, give variations unique SKUs and consistent parent references, and test a small import on staging before a large batch.

Include an existing-product update and variations where relevant. Inspect failed or skipped rows, then open the products and compare prices, attributes and relationships with the approved data. In WooCommerce 11.1 and later, qualifying unmatched variation rows can be created during an update import, so test the behavior on your installed version. Before production, back up the store and agree how to reverse the changes.

Scope a first supplier-data workflow

Greg can help define the acceptance rules and build a Python/OpenAI workflow with traceable extraction, SKU matching, an exception report and a tested export. A representative supplier file and a catalogue export are useful starting points. Get in touch with Greg to discuss the first batch, the destination and the decisions your team needs to retain.

Related on GrN.dk

Need help with this kind of work?

Discuss your supplier-data workflow with Greg Get in touch with Greg.

Sources

Seneste artikler

Når kunden beder om indsigt, kan AI hjælpe med at samle materiale fra WordPress og Microsoft 365. Se, hvordan I holder styr på datakilder, ansvar og kontrol.

Når en ingrediens ændres, kan menukortet kræve rettelser, selv om opskriftsdatoen står stille. Sådan kan AI hjælpe med gennemgang og godkendelse i WordPress.

Når checkout fejler, skal driftspartneren have noget konkret at arbejde med. Se, hvordan AI, dmesg og journalctl kan samle sporene i en brugbar driftssag.

Brug oktober til at afprøve daglige AI-forslag til genbestilling før Black Friday. Få styr på Shopify-data, leveringstid og budget, før forslagene bliver til indkøb.

Jeg lærte serverdrift ved at ødelægge mine egne servere. Jeg søger en, der vil stå ved siden af mig, mens jeg gør det, og så gøre det selv ugen efter.

Jeg er god til at bygge og dårlig til at ringe. Her er, hvem jeg vil have ved siden af mig, hvad der er lettest at sælge, og hvordan vi deler det.

AI kan samle onboardingopgaverne før første arbejdsdag. Se, hvordan lederen godkender konkret adgang, og hvordan åbne opgaver bliver fulgt til dørs.

En AI-assistent kan svare på spørgsmål og føre kunder til booking. Her er de konkrete grænser for pris, levering, personoplysninger og kontakt med en medarbejder.

Et sikkert AI-workflow kan omsætte Meet- og Teams-transskripter til godkendte beslutninger og opgaver i Jira eller Asana – uden at slippe kontrollen.

AI kan finde opsigelsesfrister og prisreguleringer i leverandørkontrakter, sende usikre fund til godkendelse og oprette de rette påmindelser.