SAM
Menu

Feature

Australian GST handled correctly, per line, every order.

GST-exempt artworks and GST-applicable products live in the same cart at most centres. Freight has its own tax line. SAM's accounting expects each split correctly or the books don't reconcile. Defyn SAM does this automatically on every order push — so customer totals match SAM to the cent and your bookkeeper stops sending order spreadsheets back with red highlights.

Works on Shopify and WordPress / WooCommerce.

The pain

The three GST mistakes most catalogue plugins make.

Generic SAM-to-WooCommerce or SAM-to-Shopify connectors treat tax as a single number. AU sales tax requires per-line handling, and the mistakes are silent — orders push to SAM looking fine, and the mismatch only surfaces at end-of-month reconciliation.

  • Back-calculating GST against a GST-exempt artwork — a $400 painting becomes ExGST=$363.64 + GST=$36.36 in SAM, even though that artwork shouldn't have GST at all.
  • Putting freight tax in the wrong column — SAM's freight line wants ex-GST and GST split separately, but most connectors send the gross total in both fields and SAM double-counts the tax.
  • Treating GST-applicable products and GST-exempt products as if they were the same — the cart total still adds up, but SAM's per-category accounting splits diverge from what the customer paid.
What it does

Read the SAM tax flag on each line. Reconcile freight. Send the right numbers.

Defyn SAM stores a per-product GST flag (sam_gst_amount) when it syncs the product down. On order push, it uses that flag — not a blanket assumption — to decide how each line is split.

  • GST-exempt lines (artworks marked as such in SAM): ExGST = SaleAmount = gross. No back-calculation. SAM's invoice math reconciles cleanly.
  • GST-applicable lines (Ceramics, Fabric, etc.): if WC reports zero tax (i.e. WC tax wasn't configured) the gross is back-calculated using the configurable AU 10% rate so SAM's automatic GST addition lands on the right base.
  • Freight line: shipping_total + shipping_tax for SaleAmount, shipping_total ex-GST for ExGST. Sent in the dedicated "Other" category with the right SAM CategoryId. SAM's freight accounting reconciles automatically.
How it works

Three checks before every order push.

  1. 01

    Per-line classification

    For each line item, the plugin reads the sam_gst_amount post meta that was stored at sync time. If it's zero, the line is GST-exempt. If it's positive, GST applies.

  2. 02

    Reconciliation math

    If WC reports zero subtotal_tax on a GST-applicable line, we back-calculate ExGST from the gross using the configured gst_rate (default 0.10). If the line is GST-exempt, we send ExGST = gross. If WC already has the tax split, we honour it.

  3. 03

    Freight as a separate Other line

    Shipping isn't a product line. It goes into an "Other" entry with the SAM freight CategoryId you configured in Settings, with SaleAmount = shipping_total + shipping_tax and ExGST = shipping_total. SAM's freight ledger reconciles automatically.

  4. 04

    Sanity-check the totals

    Before sending, the plugin verifies the sum of every line's SaleAmount matches the WC order total to the cent. Mismatches are logged with line-by-line detail before the push, so they're caught at the source instead of weeks later in reconciliation.

Where it kicks in

The mistakes that get caught.

Scenario: A $400 artwork sold via WooCommerce. SAM ships this category GST-exempt.

Result: Pre-Defyn: ExGST=$363.64, GST=$36.36 in SAM — wrong. Defyn SAM: ExGST=$400, SaleAmount=$400, no GST recorded. SAM's invoice for the customer matches the website to the cent.

Scenario: A cart with a $400 GST-exempt artwork + a $100 GST-applicable ceramic + $50 shipping.

Result: Three distinct splits — artwork at ExGST=400/GST=0, ceramic at ExGST=90.91/GST=9.09, freight at ExGST=45.45/GST=4.55 — all sent in one push. The customer paid $550 gross; SAM records $550 gross. No reconciliation discrepancy.

Scenario: An admin changes the SAM gst_rate from 10% to 0% during a tax holiday.

Result: The plugin's reconciliation rate is configurable in Settings. Change it to 0.0 and the back-calculation skips. No code change required.

Questions

Frequently asked.

What if I have WooCommerce tax classes configured?

Then WC reports the tax correctly per line, and the plugin honours those values instead of back-calculating. The reconciliation only kicks in for lines where WC reports zero tax — typically because the centre didn't configure WC tax classes (which is the common case).

How does the plugin know which SAM products are GST-exempt?

On product sync from SAM, the plugin stores a sam_gst_amount post meta value for each product. SAM's API tells us this per product. If GST=0 on the SAM record, that meta is set to 0 and the line is treated as exempt on every subsequent order push.

Can I see what was sent for an order?

Yes. The plugin logs the full SAM payload for every order push with line-level detail (SaleAmount, ExGST, CategoryId per item). Visible in Tools → Sync logs in the admin. Supports diagnostics in a single click.

What about overseas customers who aren't liable for AU GST?

Australian art centres typically use WC tax exemption rules per shipping zone for international orders. Those zero out the tax, and the plugin's reconciliation treats them as already-correct (it only back-calculates for AU buyers where GST should have been collected).

Is freight tax really a problem with other plugins?

Yes — it's where most generic connectors leak money. SAM expects freight as a separate accounting line; off-the-shelf plugins fold it into the product totals and SAM either misses it or double-counts it. The Hermannsburg mismatch we found in late 2025 was exactly this — $17 per order silently disappearing from freight reconciliation. Defyn SAM fixes it at the source.

See it in your tenant.

Want a 15-minute screenshare against your actual SAM data? Send us a quick note or call — we’ll line up a walkthrough at a time that suits.