Home/Grooming/Invoicing
Invoicing

The till does the maths. Twice.

A groom, a bag of treats, a coupon and the right amount of tax — one ticket, one payment, out of the door. Every total is recomputed server-side before it saves, so a price that drifted anywhere between the screen and the database simply gets refused.

  • Services, retail and add-ons on one ticket
  • Tax worked out per line as orders change, not frozen when items were added
  • Stock deducted automatically, and refused if it is frozen by a stock count
±$0.01A mismatch between screen and server is refused, not saved
2 gatesStock is checked before and inside the sale transaction
4 placesEvery invoice readable: desk, portal, email and print
Checkout — totals verified twice
Full groom + shampoo$86.50
Tax (resolved at checkout)$7.79
Total$94.29
Pricing

Discount applied before tax, not after.

The order of operations is fixed: line totals, then coupons, then manual discounts, then tax spread proportionally across the taxable lines, then the total. Discounts shrink the tax base, so your books always add up — even when three things changed at once.

  • Fixed order: lines, coupons, manual discount, tax, total
  • Tax spread proportionally per line
  • Discounts reduce what tax is charged on
  • Recomputed before the sale is saved
How this total was reached
How this total was reached
Items$170.00
Coupon AUTUMN10−$10.00
Manual discount−$0.00
Tax 8.25% (pro-rata)$13.20
Total$173.20
The sequence is fixed, so the answer is always reproducible
Tax that stays honest

Change a rate and nothing freezes mid-sale.

Line prices deliberately do not store a frozen tax rate. The rate is resolved at the moment totals are calculated, so a rate change — or a rate that simply had not loaded yet — cannot leave a line silently calculating tax at zero forever.

  • Rates resolved when totals are calculated
  • No rate frozen when an item was added
  • Active rates shared by both sides of the sale
  • Rounding of change handled explicitly
Line tax resolved at checkout
Stored on the line
Tax rate idTX-00825
A reference, not a copied number
Resolved at checkout
Tax rate idTX-00825
Effective rate8.25%
Identifiers are stored; the number is looked up live
Inventory

Every sale knows what stock counts it moved.

A sale is refused if it would break something: stock counted into a frozen count, or a variant that cannot cover the quantity. Smaller quantities are drafted first, then checked again inside the transaction, so two tills selling the last unit at once do not both succeed.

  • Stock checked before the transaction begins
  • Checked again inside it, under a row lock
  • Frozen by a stock count means refused outright
  • The specific variant sold is the one decremented
Gate check
Gate check
Variant coverageBeef / 85g · requested 3 · on hand 3Pass
Count in progressChicken / 85g locked by a stock countRefused
Second verificationRe-checked inside the transactionPass
Two gates, so two sales cannot both take the last unit
Attribution

Every line knows whose dog and whose work it was.

Individual lines can carry both the pet and the team member responsible, so who earned which part of the sale — and per-pet spending — are taken from the sale itself rather than reconstructed at payroll time.

  • Lines attributable to a specific team member
  • Pets carried on goods as well as services
  • Whole-order and per-line attribution supported
  • Retail attributed to the real lines
Ticket lines
Ticket lines
Item Pet Staff
Full groomDaisyRiley
Ear cleanerDaisyFront desk
Birthday treatDaisy— FREE
Attribution sits on the line, so reporting has nothing to guess at
Feature detail

A till that refuses to be wrong.

Every control below runs whether the sale came from the till or elsewhere.

Server-side reprice

Totals are recomputed by the server before saving; an inconsistent total is refused with a clear reason.

Coupons & manual discounts

Applied in a fixed sequence, with tax recalculated on the reduced base rather than the original.

Gift lines marked FREE

Complimentary items keep their list value visible while contributing nothing to the total.

Retail in the same ticket

Goods picked up alongside a groom go on one invoice with services and add-ons.

Card, cash and splits

Take the whole payment or split it; anything short of reconciliation is refused rather than absorbed.

Receipts and exports

Print a 58 mm thermal receipt or open the invoice on screen, for the desk, the portal or email.

Why PawFora

Small till differences become big accounting problems.

Cash register + receipt book

Trust me arithmetic
  • Tax worked out at the till, by hand
  • Goods and services reconciled later
  • Stock updated if somebody remembers
  • Nobody can answer questions about last Tuesday

Generic retail POS

Built for shops without tables
  • Not sold per variant by default
  • No knowledge of which dog needs what
  • Commission exported to another spreadsheet
  • Discounts applied after tax, wrongly

PawFora

Included with your shop
  • Fixed, reproducible pricing sequence
  • Tax resolved live from rates rather than frozen
  • Stock checked twice, including under a row lock
  • Pet and staff attribution carried per line

Common questions about invoicing

What stops a price disagreement between screen and server?
The server re-computes the whole ticket before saving. If the total differs even by a cent, the sale is refused rather than stored.
How is tax handled when a discount applies?
Discounts reduce the taxable base first, then tax is spread proportionally across taxable lines, so the invoice always adds up.
Can I put retail and services on the same invoice?
Yes. Goods, services and add-ons belong to one ticket with one payment.
What happens if stock is mid-count?
The line is refused while the count is holding stock, so nobody can move inventory against a count in progress.
Are complimentary items handled properly?
Yes. Gift lines contribute nothing to the total while keeping their list value visible on the receipt.
Can I see which staff member earned which part of a sale?
Lines can carry the responsible team member, so who earned each part of the sale is recorded rather than guessed.

A penny out twice a day is £70 a year of explaining.

One ticket, reproducible pricing, live tax rates and two inventory gates. Seven days free, no credit card.

Start free trial or see pricing first
Seven days free · no credit card · cancel any time