Purchase orders and supplier bills
Lesson 8 of 12 8 min read
Decide how purchase orders are numbered and approved in Xero, and how supplier bills are coded, converted and matched to suppliers.
Buying has two records in Xero: the purchase order you send a supplier, and the bill the supplier sends you. Supply Lens can create both. In this lesson you'll choose the settings for each, and see how bills raised when goods are received help clear a goods received not invoiced account.
Purchase orders
The Xero Purchase Order configuration turns purchase order Documents into Xero purchase orders.
Who numbers it, and what state is it in?
| useSourceBuyerOrderNumberAsPurchaseOrderNumber | On: the purchase order number from the source system becomes the Xero purchase order number. Off: Xero numbers it. Choose on when suppliers and the warehouse quote the source system's number. |
|---|---|
| createInStatus | The status the purchase order is created in, for example DRAFT or SUBMITTED. Choose DRAFT if a buyer reviews orders in Xero before they go out. |
| markAsSent | On: the purchase order is flagged as sent in Xero. No email is sent. Xero only accepts the flag on an approved or billed order, so it only applies when createInStatus is AUTHORISED or BILLED. |
| markAsSentMap | Tag-based override of markAsSent, order by order. The same approval rule applies. |
How are lines coded?
| adjustmentLineAccountCode | The account for adjustment lines (charges and discounts) on purchase orders. |
|---|---|
| shippingLineAccountCode | The account for shipping lines on purchase orders. |
| setTaxTypeOnLineItems | On: the resolved tax type is written to each line, as for invoices. |
| createLinesAsDescriptionsOnly | On: lines carry no item code and the SKU goes in the description. Pair with descriptionLineAccountCode (default 200). |
Supplier bills
The Xero Purchase Invoice configuration raises a supplier bill in Xero (an ACCPAY invoice).
It's built for bills raised when goods are received, so the bill can clear your goods received
not invoiced (GRNI) account: the holding account for stock you've received but not yet been
billed for.
What a bill looks like
- Each line is a description (product code and name) with its quantity and net value. Bills never carry an item code.
- The bill is in the Document's currency. Its reference is the order number and its date is the receipt date.
- A line with a tax code carries the Xero tax type that code is cross-referenced to, and the Document's tax amount. A line whose tax code has no Xero tax type fails, so every tax code you use needs mapping. A Document with no tax on any line is sent with no tax.
Which supplier?
Supply Lens matches the supplier by a cross-referenced Xero contact ID, account number or contact number. If none is found it matches by name, and Xero creates a new contact for a name it doesn't recognise. Add Xero identifiers to supplier Parties to keep your contact list clean.
Bill settings
| lineAccountCode | The account every bill line posts to, unless lineAccountCodeMap picks another. For bills raised on receipt, this is your GRNI account. A line with no account from either setting fails. |
|---|---|
| lineAccountCodeMap | Maps tags to accounts, checked on the line's tags first and then the Document's. Takes precedence over lineAccountCode. |
| createInStatus | DRAFT (the default) or SUBMITTED for approval. |
| useDocumentCurrencyRate | On: a foreign-currency bill is converted at the rate the source system recorded, so the bill clears GRNI exactly; a foreign Document with no rate then fails. Off (the default): Xero converts at its own rate for the bill date, and GRNI is left with the difference. |
Foreign currency and GRNI
If you buy in foreign currency and leave useDocumentCurrencyRate off, expect small balances on
your GRNI account from exchange-rate differences. That's an accounting choice, not a fault. Agree
with your accountant which they prefer.
Hilltop Coffee buys green beans in US dollars
Hilltop's purchase orders come from Unleashed. The implementer sets createInStatus to DRAFT
so the buyer checks each one, and turns on
useSourceBuyerOrderNumberAsPurchaseOrderNumber so suppliers see the familiar PO number. For
bills on receipt, lineAccountCode is the GRNI account and useDocumentCurrencyRate is on, so
dollar receipts clear GRNI exactly. Before the first bill, she adds a Xero Contact ID to each
bean supplier's Party and checks every VAT code is cross-referenced to a Xero tax type.
Recap
- Purchase orders: choose source or Xero numbering, the starting status, and line accounts;
markAsSentneedsAUTHORISEDorBILLED. - Supplier bills are description lines at net value, dated at receipt, referenced by order number.
- Every tax code in use must map to a Xero tax type, or the bill fails.
- Suppliers are matched by Xero identifiers first, then by name; unknown names create new contacts.
lineAccountCode(usually GRNI) anduseDocumentCurrencyRatedecide how cleanly bills clear GRNI.
Quick guides for this topic
Your progress is saved in this browser. Create a free account to keep it everywhere, take quizzes and earn certificates.