← All manuals IM2

POs Created — technical specification

POs Created
Technical Spec Ver 1 Updated 2026-09-06 Matches the live screen

POs Created (app/po_rel.py)

Dave, 2026-09-06: "A report of POs created summary and detail" and "PO Report notification is on screen only" — hence no export, no email, no scheduled send.

Gotchas for whoever changes this

QuickBooks deep links (added 2026-09-06)

im2.qb_po_url(qb_po_id)https://app.qbo.intuit.com/app/purchaseorder?txnId=<id>, or None. QuickBooks opens a transaction by its internal id, never by the PO number, so a hand-keyed PO holding PENDING:<doc> has no link until the nightly sync matches it. Used by the POs Created list and detail, the RO line's PO Links, and the workbench supply drill-down (renderSupplyTable in base.html, which now receives qb_po_id). The link lands on the transaction if the user is already signed into QuickBooks; otherwise Intuit asks them to sign in and then opens it.

Shared table sort (2026-09-07)

Column sorting is one implementation in templates/base.html (Dave, 2026-09-07: "all screens that have tables like this need sorts on the appropriate columns"). A table opts in with class="sorttable"; every thead th becomes sortable except those with class="nosort"/class="toggle", an empty heading, or a checkbox in the heading. Client-side only, over the rows already rendered. Details: tech/table_sorting.md.