Product
Who it’s for
DocumentationPricingAcademy Log in
Book a demo WhatsApp
ESEN
Accounting for hotels · Part of R2 OS

Hotel Accounting Software

Your night audit is already your accounting.

Containn takes the report your night auditor signs every morning and turns it into a double-entry journal entry, balanced to the cent, with the SAT grouping code already assigned. No exporting to Excel. No retyping. No one balancing the journal entry by hand ever again.

Revenue journal entry · I-0917Balanced
Close of Sep 17, 2026 Signed 07:02 · night auditor
Signed daily sheet
001Room revenue148,600.00
020Restaurant21,350.00
021Bar6,180.00
—Taxes (VAT · lodging tax)32,638.80
082Card payment131,950.00
080Cash payment12,400.00
090Deposits applied9,300.00
AccountDebitCredit
1105 Guest ledger208,768.80
4101 Room revenue148,600.00
4102 Food revenue21,350.00
4103 Beverage revenue6,180.00
2108 Taxes payable32,638.80
1102 Bank131,950.00
1101 Cash12,400.00
2110 Reservation deposits9,300.00
1105 Guest ledger153,650.00
Totals362,418.80362,418.80
Trial balance updatedStatements up to dateSAT files ready
Track record
Part of R2 OS, the hotel operations platform
First place worldwide in UN Tourism’s rural tourism program
Case study at IE University, Madrid
Operating in twelve countries, from London to Patagonia
The problem

What it costs to keep the books far from operations

Three numbers any hotel with outsourced accounting will recognize.

2x

Keyed in twice

What gets entered twice today: once in the hotel’s system and again in the accountant’s. Every handoff is a chance for the two sets of books to stop saying the same thing.

6 weeks

The month that closes in March

How long financial information takes to be ready when it lives in a monthly export. By the time the owner reads it, it’s too late to do anything about it.

1 line

The account nobody knows

All it takes for a journal entry not to balance: one charge with no account assigned. Containn won’t save a journal entry that doesn’t balance: the day stays pending and visible in the month-end close, instead of hiding in the books.

The product

Your hotel’s books, complete

Containn isn’t a journal by another name. It’s your entire accounting, on the same chart of accounts and under the same balancing rules.

Financial statements · September
IncomeBalance sheetTrial balance
Revenue2,846,300.00Net income933,900.00
Assets6,120,450.00Liabilities + equity6,120,450.00
Period debits8,412,906.40Period credits8,412,906.40
Trial balance in balance

The books

The journal entry for each signed-off day, the general ledger, the three financial statements, and the month-end and year-end close.

IncludesJournal entriesStatementsClose
Explore the books
Supplier invoice
Industrial laundry · Invoice B-3381Due Sep 30
Subtotal 12,500.00IVA 2,000.00Total 14,500.00
AccountDebitCredit
6105 Laundry expense12,500.00
1180 Input VAT2,000.00
2101 Accounts payable14,500.00
Partial payment 7,250.00Balance 7,250.00

Daily operations

Suppliers with their creditable VAT (IVA), payroll with its withholdings, fixed assets that depreciate on their own and reconciled bank accounts.

IncludesSuppliersPayrollAssetsBanking
Explore operations
E-accounting · Annex 24
XML
Chart of accountsGrouping code on every account
XML
Trial balanceSeptember 2026 · regular
XML
Journal entries for the periodWith each invoice UUID
Ready to sign with the hotel e.firma

Compliance

Annex 24 electronic accounting, CFDI 4.0 invoicing and an audit trail that answers from within the system.

IncludesSATCFDIAudit
Explore compliance
How it works under the hood

From the signed report to the financial statements

The design decisions a general accounting system can’t make, because it doesn’t know what happened at your hotel last night.

The journal entry comes from the signed-off day, not from an export

When your night auditor signs off on the day, that day’s report is frozen: if someone changes an old charge tomorrow, the signed-off day still says what was signed. Containn translates that report into a journal entry, line by line, and keeps the link between the two. The entry isn’t saved unless it balances. There’s no button to force it.

Frozen reportLink between report and entryIf it doesn’t balance, it isn’t saved
See more
Revenue journal entry · I-0917Balanced
Close of Sep 17, 2026 Signed 07:02 · night auditor
Signed daily sheet
001Room revenue148,600.00
020Restaurant21,350.00
021Bar6,180.00
—Taxes (VAT · lodging tax)32,638.80
082Card payment131,950.00
080Cash payment12,400.00
090Deposits applied9,300.00
AccountDebitCredit
1105 Guest ledger208,768.80
4101 Room revenue148,600.00
4102 Food revenue21,350.00
4103 Beverage revenue6,180.00
2108 Taxes payable32,638.80
1102 Bank131,950.00
1101 Cash12,400.00
2110 Reservation deposits9,300.00
1105 Guest ledger153,650.00
Totals362,418.80362,418.80
Trial balance updatedStatements up to dateSAT files ready

What the hotel earned and what came in as cash, kept separate

A five-night stay paid at checkout earns one night’s revenue each day, even if the money only arrives at the end. Containn recognizes the revenue when the night is charged to the guest folio, and the payment only moves money from that folio to cash or the bank. A payment never creates revenue. That’s why the day’s revenue and the day’s payments don’t match, and they shouldn’t.

Room revenue, night by nightA payment isn’t revenue
See more
Stay R-5102 · 5 nights
Night 1 · 12 sepRevenue 1,850.00
Night 2 · 13 sepRevenue 1,850.00
Night 3 · 14 sepRevenue 1,850.00
Night 4 · 15 sepRevenue 1,850.00
Night 5 · 16 sepRevenue 1,850.00
Paid at checkout · Sep 179,250.00Guest folio → Bank
The payment creates no revenue

The deposit ledger, kept the way a hotel keeps it

A deposit collected before arrival isn’t a payment on the guest folio: it’s a liability. Containn credits it to Reservation deposits and, on the day the guest arrives, transfers it to the guest folio with its date and the person responsible, as a named transaction, not as a subtraction the system redoes every time someone opens the screen. That’s the difference between a balance you can sign and one that changes depending on the day you print it.

Reservation depositsTransfer with date and person responsible
See more
Deposit ledger · R-4821
Sep 3 · 11:40Deposit collected 4,500.00Credited to Reservation deposits (liability)
Sep 10 · 15:04Guest arrivesReservation checked in
Sep 10 · 15:04 · Front deskTransfer to the guest folio 4,500.00Debit Deposits · credit guest folio
Folio balance0.00

The month’s statements, the same day you close

The income statement and the balance sheet come from the general ledger, for whatever period you choose, without waiting for anyone to consolidate anything. And since every signed-off day is already a journal entry, the trial balance is up to date when you open it, not when someone finishes data entry.

Income statementBalance sheetTrial balance
See more
Financial statements · September
IncomeBalance sheetTrial balance
Revenue2,846,300.00Net income933,900.00
Assets6,120,450.00Liabilities + equity6,120,450.00
Period debits8,412,906.40Period credits8,412,906.40
Trial balance in balance

A closed month is a month that no longer changes

The difference between accounting and a spreadsheet is that accounting has periods that close and can’t be touched again without leaving a name. Containn treats it as a signature, not a preference: closing blocks new entries in the period, and reopening requires permission and records who, when and why.

Month-end closeReopening with a reasonYear-end close
See more
September 2026
123456789101112131415161718192021222324252627282930
Month closedOct 2 · 09:14 · Controller

Your accountant doesn’t change systems: only the source changes

Containn produces the chart of accounts and the trial balance in the Annex 24 XML, with the SAT grouping code on every account, plus the journal entries when the SAT requests them. The file comes out ready for the accountant to sign with the hotel’s e.firma (advanced electronic signature) and upload through the Buzón Tributario, the SAT’s online tax mailbox. We don’t seal it or send it: that signature belongs to the hotel, as it should.

Chart of accounts in XMLTrial balance in XMLJournal entries in XML
See more
E-accounting · Annex 24
XML
Chart of accountsGrouping code on every account
XML
Trial balanceSeptember 2026 · regular
XML
Journal entries for the periodWith each invoice UUID
Ready to sign with the hotel e.firma

Every peso has a name, a date and someone responsible

The transaction log shows who made each transaction, at what time, on which folio and in which room. When it wasn’t a person, it says which process it was. The day’s report stays signed and immutable, journal entries are never edited or deleted, and periods are closed under a name.

Transaction logSigned reportSeparate permissions
See more
Transaction journal · Sep 17
22:41Restaurant chargeRm 214Laura · Restaurant
23:05Card paymentRm 308Diego · Front desk
02:10Night postingRm —Process: night audit
06:55Early departureRm 117Diego · Front desk
Sheet signed 07:02 · no reopenings
Built for hotels

A general accounting system doesn’t know what a night is.

A generic chart of accounts doesn’t come with Room revenue, Lodging tax payable, Tips payable or Reservation deposits. Nor does it know that a five-night stay is earned one night at a time, even if the guest pays at checkout.

Accrual vs. cash

What the hotel earned and what came in as cash, each with its own report and an explanation of why they don’t match.

Night 11,850.00
Night 21,850.00
Night 31,850.00
Night 41,850.00
Night 51,850.00
Paid at checkout9,250.00

The operating day

Your accounting day starts at the hour you close, not at midnight. A hotel whose day ends at 7 a.m. doesn’t split its nights in two.

00:0007:00 · cutoff24:00
The 02:10 payment belongs to the previous day

Revenue centers

Rooms, restaurant, bar, spa: each hotel transaction code carries its own revenue account, so every peso knows which outlet it came from.

Rooms148,600
Restaurant21,350
Bar6,180
Spa4,900

Folio charges

Early departure, laundry, restaurant charges posted to the room: each category finds its revenue account.

Early departure4104
Laundry4106
Restaurant to room4102

Containn knows all four from day one.

For your accountant

Your accountant decides how to work

What Containn takes off your accountant’s plate is the data entry, not their tools.

1Inside Containn

Works on the same numbers the general manager signed

The day’s journal entry is already there, balanced, with the SAT grouping code assigned. The accountant does what a system can’t: accruals, reclassifications, judgment.

The same numbers
What the manager signed
Month revenue2,846,300.00
Taxes payable526,988.00
Month net income933,900.00
=
What the accountant sees
Month revenue2,846,300.00
Taxes payable526,988.00
Month net income933,900.00
No export, no retyping
2From their own system

Gets the SAT files, not an export

Chart of accounts, trial balance and journal entries in the Annex 24 XML, generated from the general ledger. It’s the SAT’s format, not one of ours.

E-accounting · Annex 24
XML
Chart of accountsGrouping code on every account
XML
Trial balanceSeptember 2026 · regular
XML
Journal entries for the periodWith each invoice UUID
Ready to sign with the hotel e.firma
Documentation

The documentation isn’t an extra. It’s part of the product.

Every module has its guide, every account its definition, every accounting rule its explanation and the reason behind it. There’s a path for each role (accountant, manager, night auditor, front desk) and a guide for anyone coming from another system that shows, feature by feature, where to find the same thing here.

If something has a limit, the documentation names it. It costs less to read it than to discover it halfway through a close.

Documentation
Cash flow does not tie to the balance sheet
Direct-method cash flow
Accrual versus cash
Control and safekeeping

Accounting you can sign off on

Journal entries that are never deleted, periods closed under a name and permissions that separate whoever enters data from whoever closes.

Journal entries that are never deleted

A recorded journal entry is never edited or deleted: it’s corrected with another journal entry, along with the reason. An entry that can be edited isn’t an entry.

Periods closed under a name

A closed month takes no new entries. Reopening it records who, when and why.

Separate permissions

Entering data, configuring, closing the month and reopening it are separate permissions. Whoever enters data doesn’t necessarily close.

The paragraph your external auditor will read
Containn keeps the link between the operating document and the accounting entry: the day’s signed report, the journal entry it produced, the hotel transaction code behind each line and the e-invoices (CFDI) for that date. A request for the support behind an entry is answered from within the system, without rebuilding anything.
Audit and internal control in Containn

Frequently asked questions

Can’t find the answer? Message us on WhatsApp +52 222 813 7952

Does Containn file my taxes?

No. Containn delivers the books and the files; your accountant files the return.

Does it work if my accountant uses another system?

Yes. The Annex 24 files are the SAT’s format, not one of ours.

Can I edit a journal entry?

No. You record a journal entry that reverses it and enter the correct one. An entry that can be edited isn’t an entry.

What happens if I correct a charge from three days ago?

A signed-off day is never recalculated: the report your night auditor signed still says what was signed. Adjustments to room revenue for nights already signed off are posted on the day they’re made.

Does Containn seal the XML and send it to the SAT?

No. The file comes out unsealed: your accountant signs it with the hotel’s e.firma and uploads it through the Buzón Tributario. An advanced electronic signature shouldn’t live in a system the hotel doesn’t control.

Does Containn calculate payroll?

No. It accounts for it: it posts it, pays it and keeps it auditable. It doesn’t calculate income tax (ISR), IMSS social security contributions or INFONAVIT housing contributions, and it doesn’t stamp payroll receipts (CFDI).

What about lodging tax (ISH)?

Today the lodging tax (ISH) on room revenue is recorded together with VAT (IVA) in the taxes payable account: as a liability, never as revenue. Moving it to its own account is in development.

Can I start with yesterday?

If your hotel already signs off on its night audit, yes: the chart of accounts is set up in one step, the transaction code mapping is done once and, from then on, every signed-off day becomes a journal entry.

Start with yesterday.

If your hotel already signs off on its night audit, Containn can post yesterday today. The chart of accounts is set up in one step, the transaction code mapping is done once, and from then on every signed-off day becomes a journal entry.

Book a demo