Convert a purchase order PDF to JSON

Turn purchase order PDFs and images into JSON with one API call. A fixed schema with ISO dates, currency codes, order lines, totals and checks.

Opening soon VioPO is not open yet. Join the waitlist and we will email you once when it opens. Join the waitlist

VioPO converts a purchase order into JSON with a fixed schema. When it opens, you will send a PDF or an image and get back an object with the same keys every time, whatever the layout of the document.

One call

This is how a request will look once VioPO is open.

Bash
curl https://viopo.co.uk/v1/extract \
  -H "Authorization: Bearer $VIOPO_KEY" \
  -F "file=@order.pdf"

A fixed format, not a guess at one

Many "PDF to JSON" tools give you whatever keys the model felt like on the day: PONumber on one document, order_no on the next. That is no use to a program. VioPO's format is set in advance and published as a JSON Schema. Every key is present in every response. A value that is not on the document is null.

Values are normalised as well as read:

  • dates become YYYY-MM-DD, with day first or month first worked out from the document;
  • amounts become numbers, whether printed as £1,357.85 or 1.357,85 EUR;
  • currencies become ISO 4217 codes and countries ISO 3166 codes;
  • common units of measure become UN/ECE codes, so "each", "ea" and "units" all read EA.

Figures you can check

Every response includes checks: whether quantity times price matches each line amount, whether the lines add up to the subtotal, and whether the subtotal, shipping and tax add up to the total. When they all pass, you can post the order with some confidence. When one fails, a person should look.

See an example

The example output shows the full JSON for three sample orders, as VioPO returned it. The docs describe every field. VioPO is not open yet: join the waitlist to hear when you can convert your own.

Updated