Skip to main content
CommunitySign In
GAUGЯ - Australian distillery compliance and excise duty software

Track every drop.

Walk into any auditwith nothing to hide.

The compliance data you're already required to track becomes the foundation of a professional operation.

Current ATO rates built-in$350k remission trackingFor distilleries, wineries & breweries

// wtf_is_gaugr

Record-keeping software for craft distilleries in Australia.

Every distillery has to track stuff for the ATO: how much alcohol you made, what strength it was, how much excise duty you owe, whether you qualify for the $350k/year tax rebate.

Right now most small distilleries do this with spreadsheets, paper logs, or pray they don't get audited.

The problem

  • Excise math is annoying — LALs, temperature corrections, volume contraction when you dilute... it's a headache.
  • The ATO wants receipts — If you get audited, you need to prove every number. Where did that 100L come from? What vessel? When? Who signed off?
  • Rebate tracking is critical — Miss the 70% on-site requirement or exceed the cap and you're paying full tax.

What GAUGЯ does

It's the operational system for your distillery — tracks production batches, fermentation, distillation, blending, inventory, vessels, transfers. All the daily ops stuff.

But because all that data flows through the system, when it's time to do your excise return, the numbers are already there. Accurate. With audit trails. Ready to export.

Distillery ops software that makes excise compliance not suck.

// ditch_the_spreadsheet

Still using a spreadsheet?
We've been there.

Most Australian craft distilleries track excise with Excel, a folder of receipts, and hope. Here's what that actually looks like vs. what it could look like.

Your spreadsheet

excise_tracking_v14_FINAL_v2.xlsx
Batch
Volume
ABV
Duty
GIN-042
500L
40.1%
#REF!
WHK-018
200L
??%
$???
RUM-007
750L
63.5%
old rate?
...
...
...
...
3 formula errors

Your GAUGR dashboard

GAUGR — PSP Return
Batch
Volume
ABV
Duty
GIN-042
500.0 L
40.1%
$20,096
WHK-018
200.0 L
42.0%
$8,415
RUM-007
750.0 L
63.5%
$47,735
Total duty (current ATO rates)
$76,246
Audit-ready

Duty rates changed

Did you update every formula?

Rates update automatically

ATO rates built in and maintained for you.

Audit trail?

Can you prove when you made that entry?

Tamper-proof audit log

Every change timestamped and hash-chained.

Laptop dies

Where are your records now?

Cloud-backed, always safe

Encrypted backups on Australian servers.

Quarterly return

How long does your PSP take to prepare?

PSP ready in 5 minutes

Data worksheet generated from your daily ops.

If you can use a spreadsheet, you can use GAUGR.

Switch from spreadsheets
Import in minutesExport anytimeKeep your backup

You didn't get into this industry
to become a spreadsheet jockey.

You know your product is good. But when someone asks a question, you're digging through files instead of pulling up an answer. That's not the impression you want to leave.

Auditor asks a question
You dig through files
Buyer wants batch info
You promise to email later
PSP deadline looms
You cancel your weekend
Numbers don't match
You start from scratch

The same data that keeps you compliant makes you unstoppable.

The ATO requires production logs, stock movements, and batch records. You're entering it anyway—might as well use it to run your operation like a professional.

Required for compliance

  • • Production volumes & ABV
  • • Stock in/out of bond
  • • Batch traceability
  • • Wastage records

Same data makes you look like a pro

  • • Answer any audit question in seconds
  • • Impress buyers with instant batch history
  • • Make data-driven production decisions
  • • Run your operation with confidence

One system. Complete control. Professional operation.

Your production ops software. Your excise compliance software.
Same system. No reconciliation.

Get your team using GAUGR for daily operations—logging production runs, tracking inventory, recording stock movements. The stuff they're doing anyway.

When PSP deadline arrives? Your excise return is already done. Digitally sign it, print the data worksheet, hand it to your accountant. That's it. No late nights reconciling spreadsheets. No prayer sessions hoping the numbers match.

1
Staff log daily work
2
GAUGR calculates excise
3
Sign, print, done

System overview

Input

Ferment
Distill
Barrels
Stock
Counts
GAUGЯ

Output

Duty
Return
Export
Audit
Insights

Production

Know your operation. Cold.

Every run logged. Every batch tracked. Buying from Tarac or another wholesaler? We track purchased spirit intake too.

  • Production run logging
  • Purchased spirit intake
  • ABV tracking
  • Batch records
  • Yield analysis

Barrels

Every barrel accounted for. Every question answered.

Location, age, contents, history. When a buyer asks about that 5-year-old barrel, you pull it up in seconds.

  • Fill/transfer/dump tracking
  • Warehouse locations
  • Aging schedules
  • Angel's share tracking
  • Maturity alerts

Excise

Auditors ask. You show. Done.

Your PSP deadline isn't stressful—it's a 5-minute task. Print your data worksheet, or give your accountant their own GAUGR login and let them pull it directly.

  • Automatic duty calculation
  • Remission tracking to $350k
  • PSP deadline reminders
  • ATO-formatted returns
  • Export documentation

Traceability

From source to shelf. Documented.

Tell the story of every bottle—whether you distilled it or bought it. Buyers are impressed. Auditors are satisfied.

  • Batch → Barrel → Bottle
  • Purchased spirit chain of custody
  • 70% on-site proof for remission
  • Recall capability
  • Quality control

Analytics

Make decisions like you have the data. Because you do.

Production trends, yield analysis, remission usage—all the intel you need to run your operation like the serious business it is.

  • Remission cap tracker
  • Production dashboards
  • Yield analysis
  • Stock level alerts
  • CSV/PDF exports

Security

Your records are untouchable.

Complete audit trail. Bank-level encryption. Australian data sovereignty. When the ATO asks, you have receipts for everything.

  • Complete audit trail
  • User action logging
  • Australian data residency
  • Encrypted at rest
  • Role-based access
$0
Remission Cap Tracking
0 days
Free Trial
0%
ATO Compliant
0.99%
Uptime SLA (~52 min downtime/year)

Early 2026 — Join the founding producers

60-day free trial. Full access.

One system for excise, production, and inventory.
Cancel anytime.

MonthlyAnnual

First Fill

For solo distillers getting started

$79/month
1 user
1 location
  • Production & batch tracking
  • ATO excise calculations
  • PSP return generation
  • Remission tracking
  • Basic barrel management
  • Email support
Start Free Trial

Small Batch

For growing craft distilleries

$149/month
Unlimited users
1 location
  • Everything in First Fill, plus:
  • Full barrel aging with AI predictions
  • State liquor returns (WA/QLD/VIC/TAS)
  • Advanced analytics & insights
  • Xero & MYOB integration
  • Email + chat support
Start Free Trial
Most Popular

Founder's Reserve

For multi-site operations

$299/month
Unlimited users
Multiple sites
  • Everything in Small Batch, plus:
  • Multiple distillery locations
  • Consolidated reporting
  • Multi-site inventory transfers
  • Priority phone support
  • Dedicated onboarding
Start Free Trial

Master Distiller

For groups & contract distillers

Let's talk
Custom
Unlimited sites
  • Everything in Founder's Reserve, plus:
  • Dedicated account manager
  • Custom integrations
  • SLA guarantee
  • Multi-year discounts
Contact Sales

Frequently Asked Questions

After your 60-day free trial, you'll be prompted to choose a plan. Your data stays safe—nothing is deleted. If you need more time, just reach out and we'll extend your trial.

Absolutely. Upgrade or downgrade anytime from your account settings. When upgrading, you'll get immediate access to new features. When downgrading, changes take effect at your next billing cycle.

No setup fees, ever. The price you see is the price you pay. Need help migrating existing data? It's free for Master Distiller customers, and competitively priced for everyone else.

We accept all major credit cards (Visa, Mastercard, Amex) and bank transfers for annual plans. All payments are processed securely through Stripe.

We use Stripe as our payment processor. Your card details go directly to Stripe—we never see, store, or have access to your actual payment information. We only receive what Stripe shares with us: confirmation of payment, last 4 digits for your reference, and billing contact details.

We take Australian Consumer Law seriously and will never try to impede a refund. Just cancel online, then email us at feedback@gaugr.au and we'll manually process the refund—no questions asked.

Your data is encrypted at rest and in transit using bank-level AES-256 encryption. We're hosted on Australian servers with SOC 2 compliant infrastructure. You own your data—export it anytime.

Built in Adelaide

South Australia

Real Humans

hello@gaugr.au

Bug Fixes

Within 24 hours

Active Development

Release schedule through 2026+

No Bureaucracy

Builders shipping

Secure by Design

Encrypted, audited, Australian hosted

AWS Powered

Scalable & secure infrastructure

Neon Postgres

Auto-scaling database

// for_the_nerds

Why this beats a spreadsheet

Purpose-built calculation engines with tamper-proof audit trails. Every number traceable, verifiable, and ATO-ready.

TCEngine

All ATO excise compliance calculations with full audit trails.

LAL ComputationTariff Code MappingDuty CalculationRemission Tracking

LWEngine

Legitimate loss calculations for ATO remission claims.

Angel's ShareProduction SpillageFermentation Losses

CVEngine

Financial calculations compliant with AASB 102.

COGS CalculationInventory ValuationMargin Analysis

QCEngine

Product safety calculations for Food Standards compliance.

ABV ToleranceFill Volume ToleranceBatch Release

YPEngine

Operational KPIs and production calculations.

Distillation YieldDilutionBlendingTemperature Correction

What's actually under the hood

request-flow.ts
Multi-tenant

Every query scoped to distilleryId. Impossible to access other tenants.

Hash chains

Each audit entry links to previous. Tampering breaks the chain.

Temporal state

Full history preserved. Query any point in time.

Tamper-proof by design

Tamper-Proof Audit Chain

Entry 1
Duty Calc
hash: a1b2c3
prev:
Entry 2
LAL Calc
hash: d4e5f6
prev: a1b2c3
Entry 3
Transfer
hash: g7h8i9
prev: d4e5f6

Every calculation is hashed and linked. Any modification breaks the chain.

Every calculation logged

audit-entry.json
{
  "calculation": "Excise Duty",
  "timestamp": "2025-01-15T14:32:18.445Z",
  "engine": "TCEngine v2.4.1",

  "inputs": {
    "volume": 500.00,
    "abv": 40.0,
    "dutyRate": 95.37
  },

  "formula": "LAL = 500 × 0.40 = 200.00",
  "output": {
    "lal": 200.00,
    "dutyPayable": 19074.00
  },

  "hash": "sha256:a1b2c3d4e5f6...",
  "previousHash": "sha256:9f8e7d6c5b4a..."
}

The formulas inside. Open for inspection.

Grouped by engine. Here's exactly what they do.

TCEngine — Tax & Excise

LAL Calculation
// Litres of Absolute Alcohol
function calculateLAL(volumeLitres: number, abv: number): number {
  return volumeLitres * (abv / 100);
}

// Beer has a 1.15% ABV offset per ATO rules
function calculateBeerLAL(volumeLitres: number, abv: number): number {
  return volumeLitres * ((abv - 1.15) / 100);
}
100 × (40 / 100) = 40 → truncate → 40 LAL
For ATO Return
40 LAL
Truncated to 1 decimal place
Temperature Correction
// OIML R-22 polynomial coefficients for temperature correction
// Reference temperature: 20°C (Australian standard)
const TEMPERATURE_COMPENSATION_FACTOR = 0.00036; // per °C

function adjustVolumeForTemperature(
  volumeLitres: number,
  tempCelsius: number
): number {
  const tempDiff = tempCelsius - 20;
  const volumeAdjustmentFactor = 1 + (tempDiff * TEMPERATURE_COMPENSATION_FACTOR);
  return volumeLitres / volumeAdjustmentFactor;
}
100 / 1.00180 = 99.82 L
Volume at 20°C
99.82 L
+0.18 L difference from measured
ATO Truncation (not rounding!)
// ATO requires truncation to 1 decimal place
// 40.19 → 40.1 (NOT 40.2)
// 40.95 → 40.9 (NOT 41.0)
export function truncateToOneDecimal(value: number): number {
  return Math.trunc(value * 10) / 10;
}

// Critical: Sum precise values FIRST, then truncate
function aggregateLALsForATO(lalValues: number[]): number {
  const preciseSum = lalValues.reduce((a, b) => a + b, 0);
  return truncateToOneDecimal(preciseSum);
}
Math.trunc(40.19 × 10) / 10 = 40.1✓ ATO correct
Math.round(40.19 × 10) / 10 = 40.2✗ Wrong!
Rounding would report 40.2 LAL instead of 40.1 LAL — that's a compliance error.
Excise Duty Calculation
// Duty = LALs × Current ATO Rate
// Remission applied up to $350k/year cap
function calculateDuty(
  lals: number,
  ratePerLAL: number,
  remissionBalance: number
): DutyResult {
  const grossDuty = lals * ratePerLAL;
  const remissionApplied = Math.min(grossDuty, remissionBalance);
  const netDuty = grossDuty - remissionApplied;

  return { grossDuty, remissionApplied, netDuty };
}
grossDuty = 40 × $98.16 = $3,926.4
remission = -$3,926.4
netDuty = $0
Gross Duty
$3,926.4
Net Payable
$0
Fully covered by remission
Ethanol-Water Contraction
// When water is added to ethanol, volume SHRINKS
// Peak contraction ~4.5% at 50-55% ABV (molecular packing)
// Source: OIML R-22 / TTB Table 4

const CONTRACTION_FACTORS: Record<number, number> = {
  0: 0.0,    20: 0.03,   40: 0.044,
  50: 0.0455, // Peak contraction
  60: 0.043,  80: 0.022,  100: 0.0,
};

// Linear interpolation for any ABV
export function getContractionFactor(abv: number): number {
  const lowerAbv = Math.floor(abv / 5) * 5;
  const upperAbv = lowerAbv + 5;
  const fraction = (abv - lowerAbv) / 5;
  return CONTRACTION_FACTORS[lowerAbv] +
    (CONTRACTION_FACTORS[upperAbv] - CONTRACTION_FACTORS[lowerAbv]) * fraction;
}
factor = 0.0440 (4.40% volume reduction)
Example: Mix to get 100L at 40% ABV → actual volume will be 95.60L due to molecular contraction
$350k Remission Cap
// Annual cap resets July 1 (Australian financial year)
export const REMISSION_ANNUAL_CAP = 350000;
const FINANCIAL_YEAR_START_MONTH = 6; // July (0-indexed)

export function getCurrentFinancialYear(date = new Date()): string {
  const month = date.getMonth();
  const year = date.getFullYear();
  const fyStartYear = month < FINANCIAL_YEAR_START_MONTH ? year - 1 : year;
  return `${fyStartYear}-${fyStartYear + 1}`;
}

export function calculateRemissionBalance(
  transactions: { date: Date; amount: number }[]
): { remaining: number; utilizationPercent: number } {
  const usedToDate = transactions.reduce((sum, t) => sum + t.amount, 0);
  return {
    remaining: Math.max(0, REMISSION_ANNUAL_CAP - usedToDate),
    utilizationPercent: (usedToDate / REMISSION_ANNUAL_CAP) * 100,
  };
}
FY2025-2026 remission balance
remaining = $350,000 - $125,000 = $225,000
Utilisation35.7%

YPEngine — Yield & Production

Dilution Calculator (Iterative)
// Problem: Final ABV depends on volume, which depends on
// contraction, which depends on final ABV. We iterate.

export function calculateDilutionWithContraction(input: DilutionInput) {
  const inputLals = volume * (abv / 100); // LALs preserved
  let waterToAdd = naiveEstimate;

  for (let i = 0; i < 20; i++) {  // Newton-Raphson style
    const theoreticalVolume = volume + waterToAdd;
    const estimatedAbv = (inputLals / theoreticalVolume) * 100;
    const contraction = getContractionFactor(estimatedAbv);
    const actualVolume = theoreticalVolume * (1 - contraction);
    const achievedAbv = (inputLals / actualVolume) * 100;

    if (Math.abs(achievedAbv - targetAbv) < 0.005) break;
    waterToAdd += (achievedAbv - targetAbv) * actualVolume / achievedAbv;
  }
  return { waterToAddLiters: waterToAdd, iterations: i };
}
Converged in 3 iterations
Water to Add
56.78 L
Final Volume
149.88 L
at 40% ABV
Blending Calculator
// Blended ABV = (Sum of LALs) / (Total Volume) × 100
function calculateBlendedAbv(components) {
  const totalLals = components.reduce(
    (sum, c) => sum + c.volumeLiters * (c.abvPercent / 100), 0
  );
  const totalVolume = components.reduce(
    (sum, c) => sum + c.volumeLiters, 0
  );
  return totalVolume > 0 ? (totalLals / totalVolume) * 100 : 0;
}
Source 1
Source 2
LAL₁ = 50 × 40% = 20
LAL₂ = 50 × 60% = 30
blendedABV = 50 / 100 × 100 = 50%
Total Volume
100 L
Blended ABV
50%
50 LALs
Proof Conversion
// International proof systems
const usProof = abv * 2;           // US: ABV × 2
const ukProofSikes = abv * 1.75;   // UK: ABV × 1.75

// OIML R-22 specific gravity polynomial (at 20°C)
const sg = 0.99823 - 0.11977*x - 0.07965*x² + 0.01017*x³;

// Mass percent from density (ethanol: 0.78934, water: 0.99823)
const massPercent = (ethanolMass / totalMass) * 100;
US Proof = 40 × 2 = 80°
UK Proof (Sikes) = 40 × 1.75 = 70°
US Proof
80°
UK Proof
70°
Mass %
34.52%
SG @ 20°C
0.9382
Yield Efficiency
// LAL Efficiency = (output LALs / input LALs) × 100
const washLals = washVolume * (washAbv / 100);
const spiritLals = spiritVolume * (spiritAbv / 100);
const efficiency = (spiritLals / washLals) * 100;

// Rating thresholds:
// ≥95% = excellent | ≥90% = good | ≥80% = average | <80% = poor
Wash Input
Spirit Output
washLALs = 1000 × 8% = 80
spiritLALs = 95 × 70% = 66.5
efficiency = 66.5 / 80 × 100 = 83.13%
Efficiency
83.13%
average
LALs Lost
13.5
Concentration
8.8×
ABV multiplier

Yes, you could copy this.

Take the formulas. Build a spreadsheet. Wire up your own system.

But then you'd also need to:

  • Build tamper-proof hash chains that survive an ATO audit
  • Keep formulas updated when duty rates change (Feb & Aug each year)
  • Generate audit-ready evidence packages on demand
  • Handle multi-site, multi-user, permission controls
  • Actually maintain it all while running a distillery

This isn't a calculator. It's full production ops and excise duty software in one — built so you can focus on making great product, not wrestling with compliance.

Built for reliability

Next.js + TypeScript + Neon Postgres (serverless) + Australian data residency. Your data never leaves the country. 99.9% uptime SLA.

When tax policy moves, we move faster.

New reporting requirements, rate changes, digital lodgement options — we integrate them so you don't have to think about it.

Digital Excise Lodgement

Not yet available in Australia

Digital excise reporting doesn't exist yet in Australia. If government introduces it — like SBR for BAS — we'll integrate it so you can lodge directly from GAUGR.

One-click lodgementInstant confirmationDigital audit trail

Built for Australian compliance
from day one.

Not retrofitted. Not adapted from overseas software. Built here, for Australian producers.

Questions? Email us at hello@gaugr.au