Overview
This article covers the practical steps for working with Purchase Orders in Spendflo — how POs are created, how ERP data is imported and configured, how to match POs to bills, and how to manage the NetSuite integration. For a conceptual overview of the PO module and the details page, see Purchase Orders — Product Overview & Details Page.
How Purchase Orders Are Created
You cannot create a PO directly in Spendflo. Every PO is generated automatically when a procurement request completes the PO creation step in a workflow.
Here is how it works:
- A requester submits a procurement request through a Spendflo workflow.
- The workflow includes an ERP Integration Task (Create PO in NetSuite) and a Record Creation Task.
- When both tasks execute successfully, the PO is created in NetSuite and synced back to Spendflo.
- The PO appears under Procure to Pay → Purchase Orders and is now available for bill matching.
Configuring ERP Data for Purchase Orders
Admin only — Navigate to Settings → Purchase Order Settings.
For POs and bill matching to work correctly, Spendflo needs to reference the same data objects your ERP uses. After connecting NetSuite, import the following objects:
| Object | What it provides |
|---|---|
| Subsidiaries | Legal entities that can be assigned to POs and bills |
| Items | Non-inventory and service items that appear on PO line items |
| Departments | Internal departments for line item classification |
| Locations | Physical or logical locations for line item classification |
| Classes | ERP classification codes for line items |
| GL Accounts | General Ledger accounts for line item coding |
| Tax Rates | Tax codes applied to PO and bill line items |
| Custom Segments | Organisation-specific ERP segments such as project codes and cost centres |
To import an object:
- Navigate to Settings → Purchase Order Settings and open the relevant tab (e.g. Subsidiaries).
- Browse or search for the records you want to import.
- Select them and click Import.
Imported records are now available in workflows and bill line item coding.
Key rules for ERP data sync:
- All syncs are one-way — from NetSuite into Spendflo. You cannot create or edit ERP objects from Spendflo.
- Data re-syncs automatically every 12 hours.
- Use Force Sync to trigger an immediate refresh.
- Records marked as Inactive in NetSuite are removed from available options in forms, but existing linked records retain the relationship.
- Removing the NetSuite integration deletes all imported records from Spendflo.
Hiding ERP values from users:
Some imported values may not be relevant to all users — for example, subsidiaries that only apply to certain regions. Admins can hide specific values so they do not appear in user-facing forms.
- Open the relevant object tab in PO Settings.
- Find the record you want to hide.
- Toggle the visibility switch off.
Hidden values are excluded from all workflow and bill forms but can be re-enabled at any time.
Configuring PO Terms and Conditions
Every PO PDF download includes your organisation's standard Terms and Conditions appended to the document.
- Navigate to Settings → Purchase Order Settings → Terms and Conditions.
- Enter or paste your T&C text into the editor.
- Click Save.
All future PO downloads will automatically include this text. Have your legal team review and approve the content before configuring it here.
Matching a Bill to a Purchase Order
When an Approver or Spend Owner reviews a bill, the PO Matching panel on the Bill Detail page shows candidate POs from the same vendor, ranked by AI match score.
To confirm a PO match:
- Open a bill in Pending Approval state from the Bills listing.
- Scroll to the PO Matching section on the right panel of the Bill Detail page.
- Review the top candidate — the match score, per-line-item match results, remaining PO balance, and PO status are all shown.
- If the match looks correct, click Confirm Match.
- The PO is now linked to this bill. All other candidate POs become read-only for this bill.
Understanding match scores:
| Score | What to do |
|---|---|
| 90–100% | Confirm without detailed review — high confidence match |
| 70–89% | Review per-line-item results before confirming — likely correct |
| Below 70% | Review carefully — may not be the right PO |
If no POs are available:
If no open POs exist for the vendor, the PO Matching section shows: "No matching purchase orders found — there are no open POs associated with this vendor." You can still approve the bill without a PO match, but this should be an exception in a controlled AP process.
To unmatch and re-match a PO:
- Open the bill from the Bills listing.
- Find the confirmed PO match in the PO Matching panel.
- Click Unmatch.
- All candidate POs become available again.
- Select and confirm the correct PO.
Triggering a Force Sync
If PO data seems stale — for example, a PO recently created in NetSuite is not appearing in Spendflo — trigger a Force Sync:
- Navigate to Settings → Integrations → Finance → NetSuite → Edit Configuration.
- Click Force Sync.
The sync runs immediately and updates all imported objects: vendors, POs, items, subsidiaries, accounts, departments, classes, and locations.
Viewing a PO in NetSuite
From any PO in the Spendflo listing or details page:
- Hover over the PO Number.
- Click View in NetSuite.
This opens the corresponding record in NetSuite directly.
Frequently Asked Questions
How do I fix a bill where the wrong PO was matched? Open the bill, find the PO Matching panel, and click Unmatch to remove the current link. Then select and confirm the correct PO.
A PO I know exists in NetSuite is not showing up in Spendflo. What do I do? Check that the PO is in Approved status in NetSuite. Only approved POs are synced. If the status is correct, trigger a Force Sync from Settings → Integrations → Finance → NetSuite → Edit Configuration.
Can I see which bills have been charged against a specific PO? Yes. Open the PO Details page and click the Matched Bills tab to see all bills matched to that PO along with their amounts and status.
What happens to a PO match if the bill is rejected? If a bill is rejected after a PO has been confirmed as matched, the PO reverts to its previous status — Open or Partially Matched — making it available for matching against other bills.
Can a bill be matched to more than one PO? No. Only one PO can be confirmed as matched per bill. If a bill spans multiple POs, this should be handled as separate bills.
Troubleshooting
| Issue | What to do |
|---|---|
| PO not showing as a candidate for a bill | Check the PO is Approved in NetSuite, has a remaining balance greater than $0, and belongs to the same vendor. Trigger a Force Sync if needed. |
| PO remaining balance shows the wrong amount | Open the Matched Bills tab on the PO details page — previously matched bills may have consumed part of the balance. |
| ERP data missing from bill forms | Navigate to Settings → Purchase Order Settings and import the missing objects. |
| Terms and Conditions not appearing in PO PDF | Ensure T&C have been configured in Settings → Purchase Order Settings → Terms and Conditions. |
| PO status not updating after being fully consumed | Trigger a Force Sync to pull the latest PO status from NetSuite. |
Next Steps
Now that your PO configuration is set up, you can start matching bills and tracking spend against purchase orders. For more on managing bills through the approval process, see How to Manage Bills and Bill Payments.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article