Cardinal

Prepared for the accountant · Cardinal

A page for the person your client forwards this to

If you keep the books for a campground, motel or inn running on Cardinal, this is what the system does with money, what it refuses to do, and what you will receive at the end of a period.

Addressed to
The practice, not the operator
Subject
Postings, period close, exports
Claims certification
None. See the limits below
Reading time
About four minutes

The short version

A real ledger, where every posting is permanent

Postings are immutable
Money events are rows in an append-only ledger table. Database triggers block UPDATE and DELETE. There is no application path and no support path that edits a posted transaction.
Corrections are reversals
A correction posts an offsetting entry. A manager-authorized reversal writes the authorization into the ledger itself: who, what role, why, and when. The server refuses a reversal that arrives without it.
A refund and a reversal are separate instruments
A refund returns money the guest is owed and is an ordinary desk action. A reversal corrects an entry that should not have been made: it carries manager authorization and a stated reason into the ledger, and a transaction can be reversed once. The distinction is deliberate, because collapsing the two either gates routine refunds behind a manager or leaves the books open to anyone.
A void reverses the tax split, not the tax total
A cancellation is derived from the charge it reverses, so every tax component is negated the way it was posted and a discounted line credits net of the discount. Reversing a lump total foots on the folio and leaves GST and QST counted as collected, which overstates the return.
The server validates the arithmetic
Charge amounts are re-derived server-side from the stay and the property's saved tax configuration and compared to the submission. Base plus tax must equal amount, components must sum to the tax total, and signs are enforced by type. One bad line rejects the batch.
Tax is stored per component
GST, HST, QST, PST and lodging tax are separate columns on every posting, rounded per night and summed, so the ledger foots to the printed invoice to the cent.
Dating follows the property
Postings are dated in the property's timezone, not the server's and not the user's browser, so a late evening payment on a period end date falls in the correct period.
Periods close
A closed period is locked. A posting dated into it is neither rejected nor lost: it is redated into the current period with the original date preserved in metadata.
Reports reconcile before they are read
A completeness sweep compares every reservation, activity and sale against what the ledger holds before any accounting report is read or exported. Missing lines are posted. Anything it cannot safely resolve is flagged in plain language rather than healed silently.
Deferred revenue is separated
Cash collected for a stay that has not occurred is reported as a liability, split between fully unearned future stays and pro-rata unearned in-house stays.

Deliverables

What you receive each period

  • Detailed transaction export, CSV, with tax split by component
  • Accountant summary
  • GST and QST remittance report: collected minus adjustments equals net owing
  • Payment reconciliation
  • Monthly archive retaining all four for every completed month
  • Configurable GL codes, mapped at export rather than frozen into the record
  • Full JSON backup and CSV exports of the underlying data, on demand
  • Daily backups, with each month's first backup retained permanently

Accommodation tax is reported split by who remits it. In Quebec, a stay booked through a traditional travel agency carries a flat per room-night amount remitted by the agency, a stay booked through a registered digital platform is remitted by the platform, and a direct booking is remitted by the property.

The screen itself

The screen built for you: tax and ledger

Filed periods at the top, the range everything below is scoped to, then the four exports. The same figures the CSVs carry, readable before anyone downloads anything.

The Cardinal tax and ledger screen: monthly CRA archive, gross charges, net tax, outstanding, an accountant summary with revenue by category and net tax split into GST and QST, and payment reconciliation by tender

Where the line sits

We build the mechanism. You keep the opinion.

What Cardinal gives your client is a record that behaves the way a record should: append-only, validated at the server, reconciled before it is reported, and exportable in full. Certification and the compliance judgement stay where they belong, with the tax authority and with you.

You cannot edit a posted transaction in Cardinal. Neither can we. That is the point.

Questions

Questions accountants ask

Can I edit a transaction after it is posted?

No, and that is deliberate. Posted transactions are immutable at the database level. To correct one you post a reversal, which requires a manager authorization and a stated reason, and both are written into the ledger. This is what makes the books auditable.

Can I close a month so nobody changes filed numbers?

Yes. Close the period and it is locked. A transaction dated into a closed period is not rejected and is not lost. It is redated into the current period, with its original date kept on the record.

Do you have a night audit?

No, and there is nothing here for one to do. A night audit exists in legacy systems because the books are only correct after a batch process rolls the day. In Cardinal every transaction posts as it happens and the ledger is always current. Instead of a nightly close there is an automatic sweep that resolves no-shows and overdue check-outs, and a completeness reconciliation that runs before you read any report.

What happens if two people take the same payment at the same time?

One payment is recorded. Posting runs in a single database transaction that locks that one folio while it writes, and every payment carries a one-time key, so the same submission arriving twice is recognised as the same payment rather than counted twice. Six simultaneous submissions of the same $50 produce one posting. This is a test we run, not an assumption.

How do I know the numbers are right?

Roughly forty dedicated automated test suites cover the money paths: tax arithmetic, folio math, ledger reconciliation, refunds, rates, packages, concurrency. Several thousand assertions run in multiple timezones on every change. Beyond that, the system reconciles the entire property against the ledger before any report is exported and flags anything it cannot verify.

Do you back up?

Daily, with each month's first backup retained permanently, toward CRA's six year records requirement.

Where is my data stored?

In Canada. Relevant to PIPEDA and to Quebec's Law 25.

For the practice

What you get out of this, whether or not your client signs

You inherit whatever system your clients choose. Every hour spent reconstructing a period from a spreadsheet and a shoebox is an hour you cannot bill for work worth doing, and you had no say in the software that caused it. This is the part where you get a say.

A real period pack, first
The detailed transaction export with tax split by component, the accountant summary, the GST and QST remittance report, the payment reconciliation, and the monthly archive that retains all four. A full month from a demonstration property, sent as files. You judge the output rather than a description of it.
A walkthrough aimed at you
Half an hour in which we post a charge, watch the server refuse a reversal that arrives without manager authorization, close a period, then post something dated into the closed period so you can see where it lands and what metadata it keeps. Not a product tour.
Your chart of accounts, not ours
A GL code is derived at export time from the property's own configuration, never frozen onto the posted row. Give us the codes your practice uses and they get set on each client's property, so the exports arrive in your codes from the first month instead of being translated every period.
Questions answered from the source
An accounting question does not go into the queue that answers operators. It is answered by somebody who can open the posting rules and read you the line that governs the case you asked about.

And if it holds up, tell the operators you already advise.

That is the whole ask, and we would rather state it plainly than dress it as a partner programme. You are the person your clients trust on precisely the question this product is trying to answer, and one sentence from you travels further than anything we can publish about ourselves. If it does not hold up, the more valuable version of this is that you tell us where it breaks.

Your clients hear about it from you, on the day you decide it is worth mentioning.

Documents first, and they come to you. Anything your clients see is something you decided to send them.

Already have a client on the system? Say so and skip the pack. Their own exports answer more than a sample does, and the useful thing we can do is set your GL codes on their property so next period arrives in your chart rather than ours.

Back to your client

One thing you can send them today.

Who remits the accommodation tax depends on how the booking arrived, and it is the question your hospitality clients get wrong most often. The answer takes three dropdowns, and you can open it right now.