Skip to content

Odoo

Generate Odoo purchase order PDFs from your data

A purchase order shaped like Odoo's purchase.order — vendor, planned receipt dates per line, incoterm and payment terms — ready to replace the stock RFQ and PO print without a line of mapping.

2 designs, each a separate take on the same document rather than a recolour of one layout: Boxed form planner and Minimal, type-led. Every preview below is the actual compiled output, not a mock-up.

Open one in the editor and render it from your own JSON over the API — 1 page of A4 portrait, the same engine either way.

Printing from Odoo? These designs map to Odoo's own fields with no expression to write
Designs
2
Page size
A4 portrait
Length
1 page
Document family
Financial operations

Odoo purchase order designs

How the Odoo purchase order designs differ

Same document, same data model, 2 different arguments about how it should look on paper. Pick on layout and typography — the content behaves identically.

Design Layout Palette Typefaces Pages
Datum Sheet Boxed form planner Basalt & cyan JetBrains Mono + Inter 1 · A4 portrait
Quiet Folio Minimal, type-led Slate & violet Libre Baskerville + Inter 1 · A4 portrait

What your data drives in an Odoo purchase order

Each design is authored against an explicit reflow contract, so it is defined up front which blocks are emitted once per record and which fields absorb longer content. That is what stops the layout falling apart at a hundred rows.

Design Repeats per record Grows with your data
Datum Sheet order lines (table rows; the column heads repeat on page break); tax-group rows in the total box vendor and deliver-to fields; item descriptions; terms and instructions
Quiet Folio order lines (table rows; the column heads repeat on page break); tax-group rows in the totals; note paragraphs in the column stream vendor address; order facts; item descriptions; the receiving, note and acceptance paragraphs

Start from one of these Odoo purchase order designs

Open a design in the editor and the agent reshapes it around your schema — then render it from your own data over the API, or let your users edit it in the embedded editor.