GoatLabels GoatLabels
QuickBooks Online and Xero pages checked November 5, 2026.

How to record shipping costs in QuickBooks and Xero


Sort each amount by what the money did.

Sort shipping costs in QuickBooks and Xero by what the money did. As general practice, a label you buy is usually an expense, shipping you charge buyers is income, freight on stock you buy goes into its cost, and a wallet top-up is a transfer. Ask your accountant. On the Pro plan, GoatLabels can export the month as a file.

One dated line for every label

Each label you buy debits a prepaid wallet as its own dated ledger line.

per label
Dated line One for every label.
Carrier adjustments Post to the same wallet.
Your accounts Your accountant picks them.

Wallet ledger and shipments as CSV on every plan

Every plan can export both as CSV. The month-end file for QuickBooks Online and Xero is part of the Operations hub on the Pro plan.

Wallet ledger CSV on every plan.
US dollars The accounting file is USD only.
A file Not a live connection.
From Intuit, Xero and IRS pages

Where do shipping costs go in QuickBooks and Xero?

Sort every shipping amount by what the money did, and ask your accountant to confirm each line. The table below gives the usual home for each amount and where that comes from. The accounting reasoning lives on the bookkeeping for shipping costs page, so this page sticks to what to post where.

This is general information and not tax or accounting advice. Your accountant decides your chart of accounts, and the right answer can change with your business, your inventory method and your location.

What the vendors say, checked

  • QuickBooks Online imports journal entries from a CSV, and Intuit says to add any new accounts to your chart of accounts before you import (Intuit journal entry import page).
  • For a sub-account, Intuit says to enter the parent and sub-account together, separated by a colon, and entering only the sub-account name causes a "Line Account Invalid" error (same page).
  • Intuit says the account type decides which reports show an account, and detail types do not affect the accounting (Intuit account and detail types).
  • Xero describes account codes as customer defined, so a code in an example may not exist in your organisation (Xero Accounts API). Codes can be up to 10 characters and must be unique (Xero chart of accounts import).
  • Xero's manual journal CSV template can create one draft journal or several, with up to 300 lines in one template file when you use a spreadsheet editor (Xero manual journals).

Intuit and Xero change their pages, so check the current version before you rely on one.

Checked

Which account each kind of shipping amount usually goes to in QuickBooks Online and Xero, checked 2026-11-05
The money Where it usually goes Note Source
A label you buy to ship an order to a customer (outbound) Usually an expense account for shipping and delivery. Some businesses use a cost of goods sold or cost of sales account instead. Ask your accountant which. Xero's guide says retailers typically count shipping as an operating expense and manufacturers often count outbound freight as cost of goods sold. Intuit's guide offers a shipping account under both Expenses and Cost of Sales. Xero COGS guide; Intuit detail types
Freight a supplier or carrier charges to bring stock to you (inbound) Usually into the cost of the stock, which reaches cost of goods sold as the stock sells. Ask your accountant how to enter it. IRS Publication 538 says the cost of merchandise you buy is the invoice price minus appropriate discounts plus transportation or other charges incurred in acquiring the goods. Small business taxpayers have other inventory options. IRS Publication 538
Shipping you charge the buyer Usually an income account, kept apart from the label cost. General practice, so ask your accountant. Intuit says to toggle on Shipping in your sales settings if you charge customers for shipping. That page does not name the income account. Intuit sales settings
Topping up a prepaid shipping wallet Usually a transfer into an asset account, with no expense yet. General practice, so ask your accountant. The expense is usually recorded when a label is bought. See the wallet section below. General practice
A credit after the carrier accepts a void, or a carrier adjustment Usually back through the same shipping expense account, dated when the credit or charge posted. General practice, so ask your accountant. A void credit reduces the expense and a re-weigh adds to it. The bookkeeping page has the worked entries. General practice

Checked 2026-11-05. General practice means this page found no Intuit or Xero page stating that line, so ask your accountant. The Intuit detail types guide is the UK edition and the Xero COGS guide is the Australian edition, so US wording may differ.

What is the difference between outbound shipping and inbound freight?

Outbound shipping is what you pay to send an order to a customer, and inbound freight is what you pay to bring stock to yourself. They move in opposite directions and often land in different places, so many businesses keep them in separate accounts from the first day.

Xero's COGS guide says retailers typically count shipping as an operating expense, and it tells you to choose one approach and apply it consistently. IRS Publication 538 counts transportation charges in the cost of merchandise you buy. How you enter that freight in QuickBooks Online or Xero, for example as a line on the supplier's bill, is a question for your accountant, because this page found no Intuit or Xero page it could cite. If you mix the two, your gross margin can look better or worse than it really is.

How do shipping you charge and shipping you pay stay separate?

Common practice is to record what the buyer paid you for delivery as income on the sale and the label as an expense, in two separate accounts. Ask your accountant to confirm that for your books. The bookkeeping page explains why.

In QuickBooks Online, Intuit says to toggle on Shipping in the Sales form content section of your sales settings if you charge customers for shipping. For Xero, this page found no Xero page on a shipping line, so ask your accountant which income account your invoices should use. The free shipping vs charging for shipping page covers the pricing side.

Why is a wallet top-up not a shipping expense?

A top-up moves cash into a balance you still own, so nothing has been spent. As general practice, the spending is recorded each time a label is bought from that balance, and your accountant can confirm that for your books. If you book the top-up as an expense and also book the labels, you count the same cost twice.

To set this up, give the wallet its own account. In QuickBooks Online that is usually an asset account you add to your chart, and your accountant can pick the type. In Xero, an account can be a bank account you reconcile with a bank feed or imported statements, and Xero says to select Current Asset if you want neither (Xero chart of accounts import). The bookkeeping page has the worked entries.

The same logic applies to a void: the credit posts back to the wallet after the carrier accepts the void. As general practice, that credit reduces the expense and is not income. See how to void a shipping label and carrier billing adjustments for what triggers each.

Should you record each label or one journal a month?

Record one journal a month if you ship a lot and your accountant is happy with totals, and record each label if you reconcile line by line or need each order's cost on its own row. Both should give the same expense for the month.

  1. Per label: one line for each shipment, with the order number in the reference. Easy to reconcile, heavy to import if you ship hundreds a month.
  2. Monthly journal: one balanced journal dated at month end, with lines grouped by carrier and service. Fast to post, with less detail in the books.
  3. Whichever you choose, keep one method so the months compare.

In QuickBooks Online a journal import needs the journal number, date, account name, description, debits and credits, per Intuit's import page. In Xero you can import manual journals from a CSV template. Set up your accounts before you import in either program.

How do you split shipping cost by sales channel?

One common approach is to tag each line with a dimension your accounting program already has, so you do not need a separate account for every channel. In QuickBooks Online that can be class or location tracking, which Intuit's journal import page says you can turn on to import with those fields. In Xero it can be a tracking category: the manual journal template has tracking columns, and Xero allows two active tracking categories at a time (Xero tracking categories).

Pick one dimension before you import anything, because a channel added halfway through the year leaves earlier months without it.

What does the GoatLabels month-end file contain?

On the Pro plan, the Operations hub's month-end file holds the month's labels as accounting lines, in one of four formats for QuickBooks Online or Xero. It is a file your bookkeeper imports and not a live connection, and nothing in your books changes until then. Pro is $40 a month, checked and listed on the pricing page, and the hub carries no separate add-on fee.

The four formats are a QuickBooks Online journal entry, QuickBooks Online expense lines, a Xero manual journal, and a Xero bank statement file for reconciling the wallet as a bank account. Each journal format is one balanced journal for the month. The expense lines carry one row per shipment and expense component, and the bank statement file carries one row per label plus one for any carrier adjustment. Journal lines are grouped by carrier and service, with separate lines for insurance, duties and carrier adjustments, and one balancing line credited to the account you name for the wallet.

The journal can also carry product cost. When you have unit costs on matched SKUs, it adds a cost of goods shipped line by sales channel and an inventory line that relieves the stock account, and there is no setting to leave them out. Tell your accountant first, because books that already post cost of goods sold another way could count it twice. The expense lines and bank statement formats carry no product cost. The expense lines format carries the sales channel in the QuickBooks customer column, while the journals leave the class, location and tracking columns blank.

You map accounts first, and an unknown account is rejected at import. The file is in US dollars only.

What GoatLabels does and does not do. The month-end accounting CSV is included on the Pro plan and is not on Free, even though the public plans list shows a QuickBooks and Xero row for both plans. There is no QuickBooks Desktop or Enterprise format. Every plan can export the wallet ledger and shipments as CSV, and that is a different file.

Do not expect the file to always equal the statement total. A carrier adjustment that posts in a later month on an earlier label can make them differ. Past months can also change, because product cost uses today's unit cost when a month is reopened. A label voided after you import its month drops out of that month when it is reopened, and no later file carries a reversal, so your bookkeeper books that credit separately. This page prints no click-by-click import steps, because no real import of our file has been verified in QuickBooks or Xero. Import one month into a test company or a draft first, compare it with the statement, then decide.

When should you ask an accountant?

Ask before you import anything, and again whenever your setup changes. This page is general information and not tax or accounting advice.

  • You are choosing between an expense account and cost of goods sold for outbound postage.
  • You hold inventory and need freight added to the cost of stock.
  • You charge sales tax, or shipping tax rules differ where you ship.
  • You want product cost and shipping in the same journal.
  • A month looks wrong after import, or a past month changed.

Shipping costs in QuickBooks and Xero: FAQ

Is shipping an expense or cost of goods sold in QuickBooks?
It depends on your business, so ask your accountant. Intuit's guide offers a shipping account under both Expenses and Cost of Sales, and Xero's COGS guide says retailers typically count shipping as an operating expense. This is general information and not accounting advice, so confirm the choice and then use it every month.
Which Xero account do I use for shipping?
Use the account in your own chart of accounts that your accountant picks for shipping and courier costs. Xero says account codes are customer defined, so a code you see in an example may not exist in your organisation. This page found no Xero page that names a default shipping account.
Is a wallet top-up a shipping expense?
Usually not. As general practice, a top-up is a transfer between assets, and the expense is the label, recorded when it is bought. Ask your accountant to confirm this for your books.
Does GoatLabels connect to QuickBooks or Xero?
No. On the Pro plan the Operations hub produces a month-end CSV that your bookkeeper imports into QuickBooks Online or Xero. It is a file and not a live connection. There is no QuickBooks Desktop or Enterprise format, and the export is in US dollars only.
Can I export my shipping data on the Free plan?
Every plan can export the wallet ledger and shipments as CSV. The month-end accounting file for QuickBooks Online and Xero is part of the Operations hub, which is on the Pro plan and not on Free. That is true even though the public plans list shows a QuickBooks and Xero row for both plans.

Related reading: the Operations hub, how to calculate shipping cost per SKU, how to calculate landed cost per order, how to run purchase orders for an online store, how to set low-stock alerts, how to calculate a reorder point, how to sync stock to Shopify and WooCommerce, how to set up scan-to-pack, how to make a pick list, bookkeeping for shipping costs, carrier billing adjustments, how to void a shipping label, free shipping vs charging for shipping, shipping labels for Xero users, GoatLabels plans and pricing.

A dated line per label.

Give your bookkeeper
a month of dated labels.

Every plan exports the wallet ledger and shipments as CSV, and the Pro plan adds the month-end file for QuickBooks Online and Xero.

Label prices are the same on the Free and Pro plans.

Updated