Automated Line-Item Coding for Mixed GST and Split Invoices in Xero and MYOB

How AP automation handles mixed GST, freight lines, and split invoices in Xero and MYOB - and why most extraction tools stop short of solving the hard

Pulsify · 26 January 2026 · 20 min read

AP automation for mixed GST, split invoices, and freight coding solves a problem that most extraction tools ignore: getting each line on a complex invoice coded correctly, with the right GST treatment, before it reaches Xero or MYOB. Most tools extract a total and a supplier name. The hard part - which account each line belongs to, whether freight is GST-free, and how labour and materials split across cost centres - still lands with the bookkeeper. This tutorial walks through exactly how automated line-item coding handles these invoices, with specific context for Xero and MYOB users managing construction or wholesale clients in Australia.

Why Mixed GST Invoices Are Harder Than They Look

A single invoice from a construction subcontractor or wholesale freight carrier can contain two or three different GST treatments on the same bill. Under the ATO’s GST rules, supplies are either taxable, GST-free, or input taxed. Most invoices from domestic suppliers are straightforwardly taxable. But once freight enters the picture, or the invoice includes a mix of labour, materials, and logistics, the treatment diverges.

International freight is GST-free under Division 38-355 of the GST Act. Domestic freight for goods in transit can be GST-free depending on the supply chain context. But freight for local delivery is generally taxable. Labour is taxable. Materials are taxable. The combinations on a single invoice from one supplier can span all three GST treatments at once.

The ATO does not allow you to apply one GST code to the whole invoice and call it done. Each line needs the correct treatment. For bookkeepers managing high-volume construction or wholesale clients, repeating this decision manually for every invoice from every supplier, month after month, is where time disappears.

The deeper problem is consistency. A bookkeeper at a busy practice managing three construction clients in Brisbane might code the freight line from the same supplier differently across those clients, not because the treatment is different, but because there is no enforced rule. When GST errors surface at BAS time, the rework is disproportionate to the original mistake.

The Split Invoice Problem: What Extraction Tools Miss

Most invoice capture tools, including OCR-based products like Dext and Hubdoc, extract header-level data reliably. Supplier name, invoice date, total amount, and GST summary come through cleanly in the majority of cases.

The problem is that these tools stop at extraction. They do not make coding decisions at the line level. Once a multi-line invoice lands in Xero or MYOB, a human still has to:

- Assign an account code to each line

- Apply the correct GST treatment per line

- Split lines across cost centres or tracking categories if the business uses project-based accounting

- Decide whether a freight line goes to a freight expense account, a COGS account, or a landed cost allocation

This is the split invoice problem. The invoice might have been “automated” in the sense that no one typed the supplier name or the total. But the coding decisions - the part that actually matters for financial accuracy - remain entirely manual.

For a bookkeeper managing a Queensland wholesale distributor with 80 to 120 invoices per week, this is not a small overhead. It is the majority of the work.

Step-by-Step: How Automated Line-Item Coding Works

Understanding how automation actually handles these invoices requires walking through the process at the line level, not the document level.

Step 1: Invoice Arrives and Lines Are Extracted Individually

When an invoice enters an automated AP workflow, extraction happens at the line level from the start. Each line item is read as a separate data point: its description, quantity, unit price, line total, and any tax indicator shown on the invoice itself.

For a construction invoice that lists:

- Formwork labour (2 days at $850/day)

- Structural timber (materials)

- Crane hire

- Freight to site

Each of these is extracted as a separate record, not collapsed into a single total. The system knows this is a four-line invoice, not a single expense.

Step 2: Supplier History Is Applied to Each Line

The next step is where automation diverges from manual processing. Rather than asking a bookkeeper to make a fresh coding decision each time, the system compares each extracted line against the coding history for that supplier.

If this is the third invoice from the same subcontractor this financial year, the system already knows how previous invoices from this supplier were coded. Formwork labour was always posted to the “Subcontractor Labour” account with a GST-inclusive treatment. Timber was always posted to “Materials - Structural” with GST-inclusive. Freight to site was coded to “Freight - Inbound” as GST-free.

That history becomes the default coding for the current invoice. No manual decision required for lines that follow the same pattern as before.

Step 3: GST Treatment Is Applied Per Line, Not Per Invoice

This step is critical and is where most manual processes introduce errors. The system applies GST treatment at the line level based on two inputs: the ATO treatment for that type of supply, and the supplier’s historical coding for that line type.

For the example invoice above:

| Line | Account Code | GST Treatment | Reason | |---|---|---|---| | Formwork labour | Subcontractor Labour | GST (10%) | Taxable supply, domestic service | | Structural timber | Materials - Structural | GST (10%) | Taxable supply, domestic goods | | Crane hire | Plant & Equipment Hire | GST (10%) | Taxable supply, domestic service | | Freight to site | Freight - Inbound | GST-free | Domestic freight for goods in transit |

If the freight line would have been coded with GST by a bookkeeper working quickly, that is a BAS error. Automated line-level GST treatment catches this before the invoice reaches the ledger, not after the BAS is lodged.

In Xero, each line on a bill can carry its own tax rate, mapped to the chart of accounts. In MYOB, the same applies through the expense account’s default tax code. The automation writes the correct tax code to each line before publishing, so the bill arrives in the accounting system already correct.

Step 4: Lines That Follow Known Patterns Are Auto-Coded

Lines with high confidence, meaning they match historical supplier patterns closely, move through without human review. The system flags only the exceptions: lines where the description is new, where the amount is significantly outside the typical range, or where no prior coding history exists for that line type from this supplier.

This is a fundamentally different model from “approve everything” or “review everything.” It is selective routing: routine lines proceed automatically; unusual lines stop for human decision.

Step 5: Exceptions Are Surfaced for Review, Not Buried

When a line requires human input, it is surfaced clearly before the invoice is published. The bookkeeper sees exactly which line is flagged, why it was flagged, and what the suggested coding is based on available history.

This matters for compliance. The bookkeeper is not reviewing a complete invoice from scratch. They are making a single targeted decision on the specific line that automation could not resolve confidently. That decision is recorded in the audit trail, attributable to a specific user.

Step 6: The Coded Invoice Is Published to Xero or MYOB

Once all lines are coded, the full bill is published to the accounting system with every line carrying its correct account code, tracking category (if applicable), and GST treatment. In Xero, this appears as a drafted bill ready for approval in the bills workflow. In MYOB, it appears as a purchase ready for authorisation.

No manual re-entry. No risk of the coding decision changing between the person who processed the invoice and the person who approved it.

GST Treatment Logic: A Reference for Common Line Types

For bookkeepers managing construction and wholesale clients, the following GST classifications come up frequently on mixed invoices. These are based on ATO GST treatment under the A New Tax System (Goods and Services Tax) Act 1999.

Taxable (10% GST applies):

- Labour and subcontractor services (domestic)

- Materials and building supplies (domestic)

- Plant and equipment hire

- Professional services (consulting, drafting, project management)

- Local delivery where the supplier is based in Australia and the supply is not part of an international chain

GST-free:

- International freight and associated handling charges for goods exported from Australia

- Domestic freight that forms part of a GST-free supply chain (e.g., food distribution in certain circumstances)

- Some customs and forwarding charges where they relate directly to a GST-free importation

Input taxed (no GST, cannot claim ITC):

- Financial services

- Residential rent (less common in B2B AP workflows)

The practical takeaway: on a single invoice from a freight and logistics supplier, domestic delivery lines will be taxable and international or export freight lines will be GST-free. Both can appear on the same bill. Getting both right requires line-level coding, not invoice-level coding.

A Scenario: Perth Wholesale Distributor, Mixed Invoice from Freight Carrier

A financial controller at a Perth wholesale distributor manages accounts payable for a business that imports consumer goods from Asia and distributes domestically. Each month, the company receives consolidated invoices from their freight carrier that include:

- Sea freight (origin to Fremantle): GST-free

- Port handling at Fremantle: GST-free (part of the international leg)

- Customs clearance: GST applies (domestic service provided in Australia)

- Container unpacking and palletising at the 3PL: GST applies (domestic service)

- Domestic linehaul to regional warehouses: GST applies (domestic freight, taxable supply)

Under a manual workflow, the controller or bookkeeper makes five separate coding decisions on each of these invoices every month. The freight carrier changes its invoice format periodically. Line descriptions shift between “ocean freight” and “OFR” and “international freight,” making rules-based matching unreliable.

Under automated line-item coding, the system learns from the coding history. Ocean freight, regardless of how the description is worded by the carrier, is consistently matched to the GST-free freight account because prior invoices established that pattern. The domestic linehaul line is consistently coded to the taxable freight account. The customs clearance line carries GST.

When a new charge type appears on the invoice, such as a fuel surcharge billed for the first time, the line is flagged for human review. The controller makes the decision once. That decision is recorded. The next invoice from the same carrier with the same line type is coded automatically.

The automated line-item coding function handles this without requiring the controller to set up explicit coding rules in advance. The system infers patterns from history rather than requiring manual rule configuration.

What Gets Flagged for Review vs Auto-Coded

Not every line can be auto-coded with confidence. The distinction matters for understanding where human attention is actually needed.

Lines that auto-code reliably:

- Recurring charges from suppliers with consistent invoice formats

- Lines that match descriptions seen on previous invoices from the same supplier

- Lines where the account code and GST treatment have been confirmed consistently in prior months

- Lines where the amount falls within the typical range for that charge type from that supplier

Lines that are flagged for review:

- New charge types appearing for the first time from a supplier

- Descriptions that differ significantly from historical wording (suggesting a different service or supplier change)

- Amounts outside the expected range (potential billing error or changed pricing)

- Lines where GST treatment is ambiguous and no clear pattern exists in prior history

- First invoices from a new supplier with no coding history

This distinction is operationally important. It means bookkeepers are not reviewing every line on every invoice. They are reviewing a targeted subset of lines that genuinely require judgment. For a practice managing multiple construction clients, this is the difference between spending 4 hours a week on invoice coding and spending 15 minutes reviewing flagged exceptions.

How This Maps to Xero Account Codes and MYOB Tax Codes

In Xero

Xero’s bill entry allows each line to carry its own account code and tax rate. The standard tax rates in a Xero AU file include:

- GST on Expenses (BAS1): 10% GST, used for standard taxable purchases

- GST Free Expenses (BAS5): 0% GST, used for GST-free purchases where no ITC is claimable

- Tax Exempt: Used for non-reportable items

When automated line-item coding publishes a coded invoice to Xero, each line carries the appropriate tax rate in the “Tax Rate” field. Xero then populates the BAS fields automatically based on these rates. If the freight line is correctly coded as GST-free, the amount appears in field G11 (non-capital purchases) not G10 (capital purchases with GST) on the BAS.

Misclassifying a GST-free freight line as taxable overstates the ITC claim, which is an ATO compliance issue. Getting this right at the line level, before the bill is published to Xero, is far simpler than identifying and correcting it during BAS preparation.

In MYOB

MYOB AccountRight uses tax codes assigned to expense accounts. The relevant codes for this scenario include:

- GST: 10% tax, standard taxable expenses

- FRE: GST-free expenses (no GST included, no ITC available)

- INP: Input taxed (exempt from GST reporting)

In MYOB, the default tax code for each account code is set at the chart of accounts level. A “Freight - International” account would have its default set to FRE. A “Freight - Domestic” account would default to GST. When automated coding publishes lines to the correct accounts, the tax code follows automatically.

The practical benefit for MYOB users is that consistent line-level account allocation by automated coding means the MYOB default tax codes do the work they were designed to do, rather than being overridden manually each time because the invoice went to the wrong account to begin with.

For bookkeepers on either platform, the accounting integrations between AP automation tools and Xero or MYOB are designed to write account code and tax rate at the line level, not just the header level. This is the technical requirement that separates genuine AP automation from basic OCR-and-push workflows.

What Xero and MYOB Do Not Handle Natively

Neither Xero nor MYOB resolves the coding decision problem. Both platforms record and report financial data well. What they do not do is make line-level coding decisions based on supplier history before an invoice is entered.

In a native Xero workflow, when a bill arrives, someone opens it, assigns account codes and tax rates to each line, and saves it. The platform remembers the last-used account code for a supplier, which helps slightly with consistency but does not account for multi-line invoices where each line maps to a different account.

In MYOB, the same limitation applies. The default tax code on each account helps, but only if the invoice goes to the right account in the first place. When a freight invoice has five line items and each goes to a different account, the correct manual process requires five separate coding decisions.

This gap is well understood in accounting practices. Many practices use Dext to handle document capture and rely on the bookkeeper to complete the coding in Xero or MYOB. The extraction problem is solved; the coding problem is not. AP automation designed around line-item coding and supplier history addresses the step that Dext and Xero, working together, still leave manual.

FAQ

Does AP automation handle GST-free and taxable lines on the same invoice in Australia?

Yes, when the system is built for line-level coding rather than invoice-level totals. Each line on the invoice is treated as a separate coding decision. GST treatment is applied per line based on the ATO classification of that supply type and the supplier’s historical coding. A single invoice from a freight carrier can have domestic taxable lines and international GST-free lines coded correctly at the same time, without manual override.

How does AP automation for mixed GST split invoices handle freight in Xero?

Automated coding writes account code and tax rate to each line of the Xero bill individually before publishing. A freight line classified as GST-free is written to the correct account with the GST Free Expenses tax rate. This flows directly into the BAS, populating the correct fields without a manual BAS adjustment. The bookkeeper does not need to re-code the bill inside Xero.

What happens when a supplier’s invoice format changes and descriptions shift?

The system flags lines it cannot match confidently to historical patterns. The bookkeeper makes the coding decision for the unfamiliar line once. That decision is recorded in the supplier’s history and applied automatically to subsequent invoices with the same line description. Format changes that have been seen and coded once do not repeat as exceptions.

Is freight always GST-free in Australia?

No. Domestic freight for standard taxable supplies is generally taxable at 10% GST. International freight, and domestic freight that forms part of an export supply chain, is typically GST-free. The correct treatment depends on the nature of the supply the freight relates to. The ATO’s GST guidance sets out the specific rules. Automated coding applies these classifications at the line level using supplier history and supply type, but bookkeepers should confirm the treatment for new suppliers or new freight arrangements.

How does automated line-item coding handle invoices from a new supplier with no history?

New supplier invoices are processed through initial extraction and the system makes a best-effort coding suggestion based on the description of each line. All lines on a first invoice are surfaced for review, since no prior history exists to draw from. The bookkeeper confirms or adjusts the coding for each line. That first invoice becomes the baseline history. From the second invoice onwards, lines that match the confirmed patterns are auto-coded.

Can split invoices across multiple cost centres be handled automatically?

Yes, where the system is configured to understand cost centre or tracking category structures. For a construction business using Xero tracking categories to separate project costs, each line on an invoice can be allocated to the relevant project or cost centre as part of the coding process. This requires that the project structure is maintained in the accounting system and that prior invoices have established which lines typically allocate to which project. Where a line is new or the allocation is ambiguous, it is flagged for human decision.

json</p><p>{</p><p> "@context": "https://schema.org",</p><p> "@graph": [</p><p> {</p><p> "@type": "Article",</p><p> "headline": "How AP Automation Handles Mixed GST, Split Invoices, and Freight Coding in Xero and MYOB",</p><p> "description": "A step-by-step tutorial on how AP automation codes mixed GST invoices at the line level, covering freight, labour, and materials in Xero and MYOB for Australian bookkeepers.",</p><p> "datePublished": "2026-03-22",</p><p> "dateModified": "2026-03-22",</p><p> "publisher": {</p><p> "@type": "Organization",</p><p> "name": "Pulsify",</p><p> "url": "https://www.pulsify.com.au"</p><p> },</p><p> "author": {</p><p> "@type": "Organization",</p><p> "name": "Pulsify Editorial"</p><p> }</p><p> },</p><p> {</p><p> "@type": "FAQPage",</p><p> "mainEntity": [</p><p> {</p><p> "@type": "Question",</p><p> "name": "Does AP automation handle GST-free and taxable lines on the same invoice in Australia?",</p><p> "acceptedAnswer": {</p><p> "@type": "Answer",</p><p> "text": "Yes, when the system is built for line-level coding rather than invoice-level totals. Each line on the invoice is treated as a separate coding decision. GST treatment is applied per line based on the ATO classification of that supply type and the supplier's historical coding. A single invoice from a freight carrier can have domestic taxable lines and international GST-free lines coded correctly at the same time, without manual override."</p><p> }</p><p> },</p><p> {</p><p> "@type": "Question",</p><p> "name": "How does AP automation for mixed GST split invoices handle freight in Xero?",</p><p> "acceptedAnswer": {</p><p> "@type": "Answer",</p><p> "text": "Automated coding writes account code and tax rate to each line of the Xero bill individually before publishing. A freight line classified as GST-free is written to the correct account with the GST Free Expenses tax rate. This flows directly into the BAS, populating the correct fields without a manual BAS adjustment. The bookkeeper does not need to re-code the bill inside Xero."</p><p> }</p><p> },</p><p> {</p><p> "@type": "Question",</p><p> "name": "What happens when a supplier's invoice format changes and descriptions shift?",</p><p> "acceptedAnswer": {</p><p> "@type": "Answer",</p><p> "text": "The system flags lines it cannot match confidently to historical patterns. The bookkeeper makes the coding decision for the unfamiliar line once. That decision is recorded in the supplier's history and applied automatically to subsequent invoices with the same line description. Format changes that have been seen and coded once do not repeat as exceptions."</p><p> }</p><p> },</p><p> {</p><p> "@type": "Question",</p><p> "name": "Is freight always GST-free in Australia?",</p><p> "acceptedAnswer": {</p><p> "@type": "Answer",</p><p> "text": "No. Domestic freight for standard taxable supplies is generally taxable at 10% GST. International freight, and domestic freight that forms part of an export supply chain, is typically GST-free. The correct treatment depends on the nature of the supply the freight relates to. The ATO's GST guidance sets out the specific rules. Automated coding applies these classifications at the line level using supplier history and supply type, but bookkeepers should confirm the treatment for new suppliers or new freight arrangements."</p><p> }</p><p> },</p><p> {</p><p> "@type": "Question",</p><p> "name": "How does automated line-item coding handle invoices from a new supplier with no history?",</p><p> "acceptedAnswer": {</p><p> "@type": "Answer",</p><p> "text": "New supplier invoices are processed through initial extraction and the system makes a best-effort coding suggestion based on the description of each line. All lines on a first invoice are surfaced for review, since no prior history exists to draw from. The bookkeeper confirms or adjusts the coding for each line. That first invoice becomes the baseline history. From the second invoice onwards, lines that match the confirmed patterns are auto-coded."</p><p> }</p><p> },</p><p> {</p><p> "@type": "Question",</p><p> "name": "Can split invoices across multiple cost centres be handled automatically?",</p><p> "acceptedAnswer": {</p><p> "@type": "Answer",</p><p> "text": "Yes, where the system is configured to understand cost centre or tracking category structures. For a construction business using Xero tracking categories to separate project costs, each line on an invoice can be allocated to the relevant project or cost centre as part of the coding process. This requires that the project structure is maintained in the accounting system and that prior invoices have established which lines typically allocate to which project. Where a line is new or the allocation is ambiguous, it is flagged for human decision."</p><p> }</p><p> }</p><p> ]</p><p> },</p><p> {</p><p> "@type": "HowTo",</p><p> "name": "How AP Automation Handles Mixed GST, Split Invoices, and Freight Coding in Xero and MYOB",</p><p> "description": "A step-by-step tutorial on how AP automation codes mixed GST invoices at the line level, covering freight, labour, and materials in Xero and MYOB for Australian bookkeepers.",</p><p> "step": [</p><p> {</p><p> "@type": "HowToStep",</p><p> "name": "Invoice Arrives and Lines Are Extracted Individually",</p><p> "text": "When an invoice enters an automated AP workflow, extraction happens at the line level. Each line item is read as a separate data point: its description, quantity, unit price, line total, and any tax indicator shown on the invoice itself."</p><p> },</p><p> {</p><p> "@type": "HowToStep",</p><p> "name": "Supplier History Is Applied to Each Line",</p><p> "text": "The system compares each extracted line against the coding history for that supplier. Prior coding decisions for that supplier's line types become the default coding for the current invoice, removing the need for a fresh manual decision on recurring lines."</p><p> },</p><p> {</p><p> "@type": "HowToStep",</p><p> "name": "GST Treatment Is Applied Per Line, Not Per Invoice",</p><p> "text": "The system applies GST treatment at the line level based on the ATO treatment for that type of supply and the supplier's historical coding. Each line receives the correct tax classification before the invoice reaches Xero or MYOB."</p><p> },</p><p> {</p><p> "@type": "HowToStep",</p><p> "name": "Lines That Follow Known Patterns Are Auto-Coded",</p><p> "text": "Lines with high confidence, meaning they match historical supplier patterns closely, move through without human review. Only lines with new descriptions, unusual amounts, or no prior coding history are held for manual decision."</p><p> },</p><p> {</p><p> "@type": "HowToStep",</p><p> "name": "Exceptions Are Surfaced for Review",</p><p> "text": "Lines requiring human input are flagged clearly before the invoice is published. The bookkeeper sees which line is flagged, why it was flagged, and the suggested coding. The decision is recorded in the audit trail."</p><p> },</p><p> {</p><p> "@type": "HowToStep",</p><p> "name": "The Coded Invoice Is Published to Xero or MYOB",</p><p> "text": "Once all lines are coded, the full bill is published to the accounting system with every line carrying its correct account code, tracking category if applicable, and GST treatment. No manual re-entry is required."</p><p> }</p><p> ]</p><p> }</p><p> ]</p><p>}</p><p>

Frequently asked questions

What is automated line-item coding and how does it work in Xero and MYOB?
Automated line-item coding assigns account codes and GST treatments to each line on a supplier invoice based on patterns learned from that supplier's historical invoices. In Xero and MYOB, this is handled by a dedicated AP automation layer rather than by the accounting software itself - both platforms support manual line-item entry but not automatic coding from history.
How does mixed GST on a single invoice create problems in AP processing?
Mixed GST occurs when different line items on the same invoice carry different tax treatments - some taxable, some GST-free, some excluded. Manual processing requires checking each line separately and applying the correct code. Errors create incorrect BAS claims. Automated line-item coding handles mixed GST by applying the correct treatment per line based on supplier and charge type history.
Does Xero support split invoice coding natively?
Xero supports manual split coding - users can add multiple line items to a bill with different account codes and GST treatments. It does not automate this process or learn from previous invoices. A bookkeeper must make the coding decision each time. Automated line-item coding, which learns from supplier history, requires a dedicated AP automation layer on top of Xero.
What types of invoices benefit most from automated line-item coding?
Freight invoices with multiple charge types and mixed GST treatment, 3PL invoices covering storage, pick-and-pack, and returns, and marketing invoices that split across campaigns or entities benefit most. These invoice types require consistent multi-account splits that a human codes the same way repeatedly - the exact pattern that automated coding learns and applies automatically.

Ready to automate your AP?

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