Short write‑ups of problems we hit running a real commerce operation and what we changed in the code because of them. No product announcements; just the reasoning.
A label sheet is designed in a browser and printed by mPDF — two renderers that share no code and must agree to the millimetre. Where they disagreed, what happened when a barcode library quietly accepted an invalid EAN13 and encoded a different number than the digits printed under it, why the PDF thumbnails are rendered on the client, and the one Blade character that cost an afternoon.
Almost every piece of paper the business touches is a PDF we generated — invoices, delivery notes, picking sheets, pallet returns, timesheets, barcode labels in five widths, carrier labels from three APIs. How one rule decides between mpdf and headless Chrome, how a single invoice template serves shops in different countries, languages and tax regimes without forking, and the gotchas: a bakery called "& Fils" that broke shipping, labels that must scale from 55 mm to 125 mm, and why we merge PDFs with a renderer that never renders them.