I run operations for a distribution depot, so I’m going through the same migration and POs are my daily reality. Two urgent things first, then your five points.
Suppliers can’t be exported from Stocky. Not “won’t import” - they can’t be exported at all. For a multi-brand business like yours that means rebuilding your supplier list manually in Shopify. Worth starting now rather than in the last week.
Shopify advise stopping new POs in Stocky about 14 days before 31 August, receiving and closing everything open before the cutoff, then recreating only remaining quantities in Shopify. That puts your last-new-PO date around the 17th. Historical POs and stocktakes also can’t be imported, so export the completed PO reports and cost history you need for your records first.
Before you commit to inbuilt, one thing to weigh given why you left Lightspeed: there is currently no purchase order API. The Transfers API is live, but Shopify’s docs list PO APIs as “under consideration”. If API access is a requirement rather than a nice-to-have, that’s worth knowing now.
On your five:
1. Cross-reference column for client invoice number - use metafields. Shopify’s migration guide says explicitly that if you used Stocky’s custom fields on POs and transfers, metafields carry that workflow over. Create a definition like po.client_reference and it becomes a field you can fill and report on. Transfers also have a native Reference number field.
2. Custom line item with no Shopify product - not directly supported. POs take product line items. Two partial routes: PO adjustments handle extra shipping, fees and duties as separate amounts; and for genuine one-offs, an unpublished “Sundries / Custom item” product used as a placeholder line with the cost typed in works, if inelegant.
3. Notes to Supplier losing line breaks - no fix I can find. Since you can’t email a PO from the admin anyway and have to download the PDF, the practical workaround is keeping that field short and putting the detail in your covering email.
4. Percentage discount - adjustments are absolute amounts, not percentages. You’d calculate it and enter a negative adjustment. Worth adding to your feature request.
5. Supplier notes and access - one thing that will catch you out: supplier currency and payment terms save on each individual PO, not as defaults on the supplier profile. So they need re-entering each time. For supplier lead times, SKUs, minimum order quantities and case packs, variant metafields are the intended home (supplier.lead_time_days, supplier.case_quantity and so on).
Given most of your stock is pre-ordered by clients, there’s a documented pattern worth a look: keep your PO and financial record as your own source of truth, then create incoming transfers with a blank origin via the Transfers API, putting your PO reference in the transfer’s Reference number field. You receive against the transfer, stock lands correctly, and your client-order cross-referencing stays somewhere you fully control. It’s the closest thing to the Lightspeed workflow you lost.