How to Process 3PL Invoices Accurately in Xero and MYOB

3PL invoices bundle storage, pick-and-pack, returns, and surcharges into a single document. Here is how to code and process them correctly in Xero and MYOB.

Pulsify · 29 March 2026 · 6 min read · Updated 30 March 2026

Third-party logistics providers bundle multiple services into a single monthly invoice. What looks like one document is financially six or seven separate costs - each with its own account code and potentially its own GST treatment.

Most e-commerce and wholesale businesses process these invoices incorrectly. Either the whole invoice is coded to a single account, or specific line items are coded to whatever seems closest without a consistent policy. The result compounds over time: COGS is understated, margin reports are misleading, and month-end reconciliation requires revisiting invoices that should have been handled correctly at intake.

This guide covers how to process 3PL invoices accurately in Xero and MYOB, what each charge type should map to, and how to configure AP automation to handle the split automatically.

What a typical 3PL invoice contains

A monthly statement from an Australian 3PL provider typically includes several distinct charge types:

Storage fees: The cost per pallet, bin, or cubic metre of inventory held during the month. Storage fees are typically charged weekly or monthly based on inventory levels at a given date.

Inbound receiving: A charge for receiving, counting, and putting away stock from inbound shipments. Often charged per pallet or per carton.

Pick-and-pack: A per-order or per-unit charge for picking items from storage, packing them, and preparing them for dispatch. This is usually the largest component of the monthly invoice for active e-commerce businesses.

Outbound freight: The freight cost charged to the 3PL for carrier dispatch, passed through to the customer. Some 3PLs bill freight directly; others use separate carrier invoices.

Returns handling: A per-return or per-unit charge for receiving, inspecting, and restocking returned goods.

Special projects: Ad hoc charges for tasks outside normal operations - repackaging, relabelling, stock counts, or promotional kit assembly.

Surcharges: Fuel surcharges, DG handling surcharges, or peak period surcharges applied across the invoice.

Each of these maps to a different account code. None of them should be bundled into a single posting.

Account code mapping for 3PL charges

The correct account code for each charge type depends on the business’s chart of accounts, but the following mapping is a reasonable starting point:

Charge typeTypical accountGST
Storage feesWarehousing / Storage expense10%
Inbound receivingWarehousing / Receiving expense10%
Pick-and-packFulfilment / Pick-and-pack expense10%
Outbound freightFreight out / Delivery expense10%
Returns handlingReturns processing expense10%
Special projectsOperations / Project expense10%
Fuel surchargeFreight surcharge expense10%

For e-commerce businesses with a separate freight P&L analysis, outbound freight is often tracked in a dedicated account separate from warehousing costs. For businesses that calculate landed cost at product level, inbound receiving charges may be included in the landed cost allocation rather than expensed separately.

The key principle is consistency. Whatever mapping is applied in month one should be applied every month thereafter. Inconsistent coding makes trend analysis impossible and creates unexplained variances in operating expense categories.

GST handling for 3PL invoices in Australia

The majority of 3PL charges for domestic services attract GST at 10 percent. This includes storage, pick-and-pack, inbound receiving, returns handling, and special projects from Australian-based 3PLs.

Outbound freight components may have mixed GST treatment if the 3PL is billing for international shipping. Domestic dispatch is taxable. International freight is generally GST-free. If a single line item bundles both domestic and international freight, it should be split to apply the correct treatment.

Fuel surcharges are typically taxable at the same rate as the underlying freight service. Confirm the GST treatment with your 3PL if their invoices do not clearly identify the tax rate per line.

How Xero and MYOB handle 3PL invoice coding

Xero supports multi-line bill entry where each line can be assigned a different account code and GST treatment. The challenge is that this requires manual entry of each line item for every 3PL invoice - typically five to ten lines per month. Without AP automation, this is a manual process every month.

MYOB AccountRight similarly supports multi-line bills. The same manual entry requirement applies.

Neither platform learns from previous invoices or applies coding from supplier history. Each month, the person processing the invoice makes the same coding decisions again.

With AP automation: A purpose-built AP platform like Pulsify reads the 3PL invoice at intake, extracts each line item, and applies the account code and GST treatment based on how this 3PL has been coded previously. In the first month, the reviewer confirms the coding. From month two onwards, routine charges are coded automatically and only exceptions - new charge types or unusual amounts - are flagged for review.

This is the practical difference between processing a 3PL invoice in 15 minutes versus 2 minutes. The coding decisions happen once and are applied consistently thereafter.

Handling the 3PL invoice reconciliation problem

Many businesses receive their 3PL statement and discover the total does not match what they expected. Storage fees seem higher than the inventory levels justify. Pick-and-pack charges do not reconcile to order volumes. A surcharge appears with no explanation.

The reconciliation process requires:

  1. Comparing storage fees against the average inventory volume for the period
  2. Comparing pick-and-pack charges against the dispatch report from the 3PL portal or OMS
  3. Identifying any charge types that have not appeared in previous invoices
  4. Requesting a breakdown from the 3PL for any line item that is not self-explanatory

This reconciliation is separate from AP coding. It is a verification step before the invoice is approved for payment. Some businesses perform this reconciliation manually using their OMS data. Others build a simple spreadsheet that compares 3PL charges against dispatch and inventory reports each month.

AP automation supports this process by surfacing 3PL invoices with unusual amounts - charges significantly above or below the historical average for this supplier - as exceptions before approval. The exception queue prompts the reconciliation rather than requiring the finance team to remember to do it.

Setting up automated coding for 3PL invoices

To configure automated 3PL invoice coding in Pulsify:

  1. Enter the first invoice manually using the correct account codes and GST treatments for each charge type
  2. The system records the line item descriptions, charge types, and coding from this first invoice
  3. On the second invoice from the same 3PL, the system applies the same coding automatically
  4. Exceptions - line items with descriptions that do not match known patterns or amounts outside historical range - are flagged for manual review

Most businesses reach a point within two to three months where their 3PL invoices pass through with minimal exception flagging. Routine charges that appear every month are coded automatically. New charges or unusually large amounts are flagged. The review work reduces to genuine exceptions rather than full manual processing every month.

For more on how Pulsify handles automated line-item coding for complex invoices like 3PL statements, see the feature overview. For the broader invoice processing workflow, see invoice processing automation.

Sources: ATO GST for business · ATO eInvoicing for business

Frequently asked questions

What makes 3PL invoices more complex than standard supplier invoices?
3PL invoices bundle multiple charge types - storage, pick-and-pack, returns handling, inbound receiving, special projects, and fuel surcharges - that belong to different account codes and carry different GST treatments. Each line item requires a separate coding decision. A single monthly 3PL invoice can require five to ten individual allocations rather than the single account code a standard supplier invoice needs.
How should storage fees from a 3PL be coded in Xero or MYOB?
Storage fees represent the cost of holding inventory and should typically be coded to a warehousing or storage expense account rather than COGS. If the storage cost is material and directly attributable to specific inventory, some businesses include it in landed cost calculations. The treatment should be consistent month to month and documented in the chart of accounts policy.
Are 3PL charges subject to GST in Australia?
Most 3PL charges for domestic warehousing and fulfilment services attract 10 percent GST. International freight components billed by a 3PL may be GST-free. Some surcharges have specific GST treatment depending on their nature. Each charge type should be assessed individually rather than applying a blanket GST rate to the full invoice total.
How does pick-and-pack cost affect e-commerce COGS calculation?
Pick-and-pack cost is the labour and materials cost of fulfilling each order. Whether to include it in COGS or treat it as a selling expense depends on your accounting policy and the nature of the business. Product businesses that treat fulfilment as a direct cost of delivery to the customer typically include pick-and-pack in COGS or a fulfilment cost category rather than general operating expenses.
What is the best way to handle 3PL returns handling charges in AP?
Returns handling charges should be coded separately from outbound fulfilment costs, as they represent a distinct expense category and may need to be tracked against a returns rate metric. The GST treatment mirrors the original fulfilment service. If returns handling is invoiced as a line item, code it to a returns processing expense account rather than bundling it with pick-and-pack charges.

Ready to automate your AP?

Go beyond capture and basic workflows. Pulsify codes, validates, routes, and syncs every invoice automatically.