HomeFinance and accounts
Finance and accounts · eight screens

Books that write themselves from the work.

Every bill you finalise, every receipt you record and every purchase you enter posts its own double-entry voucher the moment you make it. So the Trial Balance, the Profit & Loss and the Balance Sheet are as current as the site — and nothing is typed into an accounting package a second time.

Why this exists

The bill is raised once. Then it is typed again, somewhere else, a month later.

This is the one part of a construction office that is still done twice. The RA bill is built in the app — quantities, GST, retention, TDS, all of it — and then the same document is punched into Tally by somebody else, from a printout, in the second week of the next month.

The second entry is where the errors live

The bill in the app is right, because it was calculated. The entry in the accounting package is typed, so a retention gets missed, a TDS goes to the wrong section, a bill is booked twice. Then two systems disagree and somebody spends a day finding out which one is wrong.

The P&L is a month behind the site

You know exactly what was poured yesterday. You do not know what the company earned yesterday, or what this project has actually cost so far, until the books are written up — by which time the decision you needed the number for has already been taken.

And nothing traces back

A figure in the P&L is a line in a journal that somebody typed. There is no way to click it and arrive at the RA bill, the measurement and the item it came from — so a question at audit becomes a hunt through files instead of an answer.

What we set out to do, said plainly

A full double-entry accounting system inside Civil Limitless, so a construction company does not need a separate accounting package to close its books — and so every rupee in those books can be traced back to the work that earned or spent it.

It deliberately mirrors the model an Indian accountant already works in: groups, ledgers, vouchers, bill-wise references, day book, cost centres. Nothing new to learn — the words are the words your accountant uses.

Debit equals credit, always
An unbalanced voucher cannot be saved. That single rule is why books built this way cannot quietly go wrong.
Nothing is edited or deleted
A posted voucher is never changed. Cancelling it posts a reversal, so the original and the correction both stay on record — the way the edit-log rule requires.
Only a finalised bill posts
A draft bill is not a document yet, so it never reaches the books. Accounting starts at the moment you lock the bill.
Accounting never blocks the site
If a posting cannot be made for any reason, your bill still locks and your payment still records. A reconcile pass posts what was missed afterwards, and running it twice changes nothing.
What is in the module

Nine parts, eight screens, one set of books.

The books are the company's, not one project's. Every voucher carries a project tag as well, so the same entries give you a company P&L and a project-wise one without a second ledger.

The eight screens, and what sits on each

ScreenTabs on itWhat you do here
Finance Dashboard—Cash and bank position, receivable and payable, GST and TDS, income against expense month by month, and project-wise.
Finance MastersChart of Accounts · Voucher Types · Opening Balances · Books Setup & LockYour groups and ledgers, the opening figures, the books start date, your home state and the period lock.
Vouchers & Day BookDay Book · Voucher EntryEverything that happened, in date order — and the entry screen for anything that is not automatic.
Finance ReportsTrial Balance · Ledger Statement · Profit & Loss · Balance Sheet · Receivables (AR) · Payables (AP)The statements, for any period, with drill-down and PDF and Excel exports.
GST & TDSGSTR-1 (outward) · GSTR-3B · Input GST (ITC) · TDSReturn-ready workings and the Excel your CA files from.
BankingAccounts · Reconcile · Cheques & PDCBank accounts, statement import and matching, and the cheque register.
Audit & ExceptionsExceptions · Audit TrailWhat does not look right, and who changed what and when.
Tally Import & ExportExport to Tally · Import from TallyBring your old ledgers and vouchers across once; hand your CA an XML when they want one.
01 · Chart of accounts

The 28 standard groups, already there on the first day.

Your accountant does not want to design a chart of accounts. He wants the one he has used for twenty years. Open the module and it is seeded — fifteen primary groups and thirteen sub-groups, with the eight voucher types and the tax ledgers beneath them.

Fifteen primary groups

The top of the tree. Assets, liabilities, income and expense are decided here, which is what makes the Balance Sheet and the P&L sort themselves.

Capital AccountCurrent Assets Current LiabilitiesFixed Assets InvestmentsLoans (Liability) Suspense A/cMisc. Expenses (Asset) Branch / DivisionsSales Accounts Purchase AccountsDirect Incomes Indirect IncomesDirect Expenses Indirect Expenses

Thirteen sub-groups

Where the day-to-day ledgers actually sit. Sales, Purchase, Direct Income and Direct Expense are marked as affecting gross profit, so the P&L shows a gross figure and a net one.

Reserves & SurplusBank Accounts Cash-in-HandDeposits (Asset) Loans & Advances (Asset)Stock-in-Hand Sundry DebtorsDuties & Taxes ProvisionsSundry Creditors Bank OD A/cSecured Loans Unsecured Loans

Your ledgers are made from the masters you already have

You do not create a party twice. A client already in the app becomes a ledger under Sundry Debtors; a contractor, a supplier or a vendor becomes one under Sundry Creditors — with its GSTIN and PAN carried across, because those two fields decide how GST splits and whether a TDS return will accept the row.

  • The tax ledgers are seeded too. Output CGST, SGST and IGST, Input CGST, SGST and IGST, TDS Payable and TDS Receivable, all under Duties & Taxes.
  • So are the construction ones. Retention Receivable, Performance Guarantee Receivable, Advance to Contractor, Retention Payable, Advance from Client — the amounts a construction business holds and is held on, kept where you can see them rather than netted away.
  • Add your own freely. "HDFC Bank — current", "Office Rent", "Site Diesel" — anything, under any group.
  • The system rows cannot be deleted, and a ledger that already has postings cannot be deleted either. The books stay consistent with themselves.

What the company owns is in the same books

Fixed Assets is one of the standard groups. Put your ledgers under it — the office, the batching plant, the excavator, the vehicles, the site equipment — and what the company owns appears on the Balance Sheet beside what it owes, out of the same set of vouchers. Buy an asset and the payment voucher debits it directly.

Being precise about it: this is the asset sitting in the accounts and on the Balance Sheet. There is no separate fixed-asset register with depreciation schedules in this version — a depreciation entry is a journal voucher you or your CA post.

Eight voucher types, the ones you know

Payment, Receipt, Contra, Journal, Sales, Purchase, Debit Note and Credit Note. Each is numbered on its own series, and each behaves the way it does everywhere else — so the accountant you hire next year does not have to be retrained.

02 · Auto-posting — the heart of it

Finalise a bill. The voucher is already written.

This is the part that removes the second data entry. You do not tell the app to do accounting — you do the work you were doing anyway, and the entry appears in the books, complete, with the tax and the retention split out.

Worked example

One client RA bill, all the way into the books.

A running-account bill on a government job. Work billed this bill ₹1,00,000 · GST 18% · retention 5% held by the client · TDS under 194C at 2%. The client is in your own state, so GST splits into CGST and SGST. You press Finalise. Nothing below is typed by anybody.

LedgerGroup Debit (₹)Credit (₹)
Bharat Infra Ltd — the clientNet receivable, tagged to this bill Sundry Debtors1,11,000—
Retention ReceivableHeld by the client, not lost Loans & Advances (Asset)5,000—
TDS ReceivableSection 194C, against this party Loans & Advances (Asset)2,000—
Work IncomeSales Accounts—1,00,000
Output CGSTDuties & Taxes—9,000
Output SGSTDuties & Taxes—9,000
Sales voucher — must balance, and does 1,18,0001,18,000

Then the client pays

₹1,11,000 comes into the bank. You record the receipt in client billing, exactly as you do today, and tag it to this bill.

LedgerGroup Debit (₹)Credit (₹)
HDFC Bank — currentBank Accounts1,11,000—
Bharat Infra Ltd — the clientAgainst Ref — settles that RA bill by name Sundry Debtors—1,11,000
Receipt voucher1,11,0001,11,000

That bill now drops out of the receivable ageing, because the receipt was tagged against it and not just dumped on the party's account. The ₹5,000 stays sitting in Retention Receivable until the client releases it, and the ₹2,000 stays in TDS Receivable until you set it off. Neither one is quietly written off as a shortfall in collection — which is what usually happens.

Everything else that posts on its own

01
Contractor RA bill, finalised
A purchase voucher: the work debited to project cost and the input GST to its ledger; the contractor credited — with TDS payable, retention payable, the performance guarantee and any advance recovery each going to its own account instead of being buried in one net figure.
02
Payment to a contractor or a vendor
A payment voucher: the party debited, the bank credited, and the payment tagged against the bill it settles, so the payable ageing clears the right bill.
03
Advance given, and advance received
Advance to Contractor and Advance from Client, kept on their own accounts. When an advance is later recovered inside a bill, the recovery moves against that account rather than being netted invisibly.
04
Material inward at the gate
A purchase voucher against that supplier, with the input GST captured from the day the challan is entered. The inward form carries the supplier and the GST rate for exactly this reason.
05
A bill reopened, or an entry deleted
A reversal voucher, posted with today's date so it can never land inside a period you have already locked. Lock the bill again and a fresh voucher is written from the corrected figures.

Running-account bills, counted once

An RA bill is cumulative — bill 3 restates everything from bill 1. So each voucher posts only this bill's movement, never the running total. The chain cannot double count, and if a draft in between was skipped, its money simply arrives in the next finalised bill.

CGST and SGST, or IGST

The split is decided from the party's GSTIN against your home state, which you set once in Books Setup. Same state gives you CGST plus SGST; another state gives IGST. Nobody has to remember which on a Friday evening.

A reconcile pass that repairs

It finds a finalised bill that never posted and posts it, reverses a voucher whose source has been deleted, and re-posts one whose bill changed while the books were not looking. It is safe to run twice — the second run finds nothing to do.

Private jobs, where no bill is ever raised. Mark the work order as direct billing and there is no tax invoice to post — the receipt itself becomes the income, on receipt basis, with no GST line, because no tax invoice exists. Government-style running-account work stays on the accrual side. You choose per work order, and the reconcile report warns you if the two are ever mixed on one job.
03 · Vouchers and the Day Book

Not everything comes off a bill. Type those the way you always have.

Office rent, a salary transfer, bank charges, a partner's capital, a correction, a transfer from bank to cash — the entries that belong to no site event. The voucher screen is the Dr/Cr grid your accountant expects, with keyboard movement down the rows, a narration and a date.

  • Payment, Receipt, Contra, Journal, Sales, Purchase, Debit Note, Credit Note. Pick the type and the grid behaves for it.
  • It will not let you save it wrong. Debit and credit have to agree before the button works — there is no such thing as a half-posted entry in these books.
  • Bill-wise on the party line. New Ref for a fresh bill, Against Ref to settle a named one, On Account when the money is not yet allocated, Advance for money taken before the work. This is what makes the ageing report true rather than approximate.
  • A project on the voucher. Tag it and the same entries give you project-wise income and expense, without keeping a second set of books per site.
  • Cancel, never delete. Cancelling posts a reversal dated today. Finance vouchers are kept out of the recycle bin entirely — there is no route by which one silently disappears.

The Day Book

Everything that happened, in date order — the ones the app wrote and the ones you typed, side by side. Click any line and you are inside the voucher; from an automatic voucher you carry on to the bill it came from.

DateTypeParticularsAmount (₹)
04 AugSalesClient RA Bill 3 — Bharat Infra LtdPosted automatically on finalise1,18,000
06 AugPurchaseMaterial inward — Shree Cement, invoice 4471Posted automatically from the gate entry2,36,000
08 AugPaymentOffice rent — AugustTyped here45,000
11 AugContraCash drawn from HDFC for site petty cashTyped here25,000
12 AugReceiptBharat Infra Ltd — against RA Bill 3Posted automatically from the receipt1,11,000

An automatic voucher is marked as one, and it keeps a link to its source document. You always know which entries the app wrote and which a person did.

04 · Trial Balance, P&L and Balance Sheet

Any period you like, and every figure clicks back to the bill.

These are not stored balances that somebody refreshes. They are read from the vouchers each time you ask, so there is no such thing as a report that is out of date, and no month-end process to wait for.

01
Trial Balance
Every ledger with its opening, its movement and its closing, grouped and expandable. Total debit against total credit — and if there is a difference, the opening imbalance is shown separately so you know whether it is old or new.
02
Profit & Loss
Income against expense for the period, with a gross profit line and a net one — because Sales, Purchase and the direct groups are flagged as affecting gross profit.
03
Balance Sheet
Assets against liabilities and capital, as at any date. That it balances is the proof the books are sound.
04
Ledger statement, Cash Book and Bank Book
Any account, any period, with a running balance down the page.
There is no year-end closing journal, on purpose. Posting one would zero the very P&L you want to read for that year. The books simply run on — the P&L is the movement in a period and the Balance Sheet is the position on a date, so a dated Balance Sheet shows Reserves & Surplus brought forward and the profit for the period as separate lines.

Drill down until you reach the work

A figure that cannot be explained is not much use at audit. So every number opens:

Balance Sheet → group → ledger → voucher → the RA bill

And from the bill you are back in the measurement and the item that earned it — the same quantity the estimate used and the site reported against. One chain from a figure in the accounts to a line in the Measurement Book.

Where that quantity is entered

Printed the way an office needs it

Trial Balance, Profit & Loss, Balance Sheet, outstanding statements, the GST and TDS workings, the bank reconciliation, the bank statement and the cheque register all come out as PDF or Excel with your company heading and the period on them.

Every report the app prints

The dashboard an owner actually asks for

Cash and bank in hand, what is receivable and what is payable with their ageing, output GST against input GST, TDS payable and receivable, income against expense month by month for the last twelve — and, because every voucher carries a project, the same income and expense split project by project.

05 · Receivable and payable

Who owes you, how old it is, and against which bill.

Outstanding is not one number per party. It is bill by bill, because that is how a client pays and how a contractor chases. Each party opens into its own bills, each bill carries its age, and every receipt or payment tagged against a bill clears exactly that bill.

  • Four ageing buckets — up to 30 days, 31 to 60, 61 to 90, and over 90 — party-wise and bill-wise, on both the receivable and the payable side.
  • Money on account is shown as money on account. A receipt that is not tagged to a bill sits against the party until you allocate it, instead of quietly reducing the oldest bill and making the ageing lie.
  • What is held back is visible. Retention, performance guarantee and unadjusted advance sit on their own ledgers, so you can tell the difference between money you have not collected and money the client is legitimately holding.
  • It is the same list on both sides. Receivables come from your client bills, payables from contractor bills, supplier purchases and anything you typed as a purchase voucher.

Receivables, as the screen shows them

One party opened out. The 90-plus column is the one that starts the phone call.

Bill0–3031–60 61–9090+Total
RA 3 / WO-141,11,000———1,11,000
RA 2 / WO-14—64,500——64,500
RA 1 / WO-14———2,08,3002,08,300
Bharat Infra Ltd1,11,00064,500—2,08,3003,83,800

The same view, with the same buckets, exists for payables — and the exceptions list raises anything sitting beyond 90 days on either side so it does not become a write-off by neglect.

06 · GST and TDS

The return is a working, not a reconstruction.

Tax is captured on the voucher line at the moment the bill is posted — the taxable value, the rate, the CGST, SGST or IGST, the place of supply and the HSN or SAC. Nothing is worked out backwards from a total at the end of the month.

GSTR-1 — what you billed out

Your outward invoices split the way the return wants them: B2B invoice by invoice with the recipient's GSTIN, B2C summarised by rate and place of supply, and an HSN or SAC summary underneath. A party with no GSTIN correctly falls into B2C — and the exceptions list names that party so you can add the GSTIN before you file.

GSTR-3B — output against input

Output GST from your bills, input GST from your contractor bills and material purchases, and the net that is actually payable. Because the input side is captured at the inward gate rather than from a pile of invoices in a drawer, credit that would otherwise be lost stays claimable.

Input GST register

Every input line with its supplier, invoice, rate and HSN, so you can reconcile against what the portal shows and see exactly which purchase a difference belongs to.

TDS and the 26Q shape

Deductions section-wise and deductee-wise — the 194C you cut on contractor bills, and the TDS the client cut on yours, which is money you are owed and not an expense. Exported in the shape a 26Q annexure needs, with the PAN on each party.

A party with TDS deducted and no PAN is flagged as a high-severity exception, because 26Q rejects that row and the rate then becomes 20%. It is far cheaper to find it here than in a notice.

What this gives you is the working and the Excel your CA files from. It is not a live connection to the GST portal.

Read the full boundary
07 · Banking

Close the month knowing the bank agrees with you.

Bank accounts are ledgers with an account number, an IFSC and a branch on them. Download the statement, bring it in as Excel, and the app lines it up against what your books already say.

  • Import is a preview, not a leap. Rows you have already imported are marked as duplicates, a row carrying both a debit and a credit is refused, and a date that is not a real date is refused — because a bad date would sit quietly in the table and fall outside every match window.
  • The closing balance is read from the latest-dated row, not the last row in the file. Plenty of banks print newest first, where the bottom row is the opening figure.
  • Auto-match on amount and date, within a window of a few days either side, best match first — and a voucher already used cannot be matched to a second line. What it cannot match is listed for you, with the likely candidates beside it.
  • A reconciliation statement at the end of it, showing the bank's balance, your book balance and exactly what stands between them.

Cheques and post-dated cheques

Issued and received, in one register: number, bank, amount, date, party, and whether it is post dated. Each one runs pending → cleared, or bounced, or cancelled — and the ones falling due in the next few days are surfaced rather than remembered.

A bounced cheque posts a reversal. The money never actually moved, so the voucher that recorded it is reversed instead of being edited away. The party's outstanding goes back up, which is the truth.

Cash and bank, moved properly

Money drawn from the bank for site petty cash is a contra voucher, not an expense. Cash-in-Hand and Bank Accounts are separate groups, and negative cash on any day is picked up as an exception — because cash physically cannot go below zero.

08 · Opening, lock, exceptions and the trail

"Fully audited" has to mean something specific. Here is what it means.

Four things, each of which an auditor will ask for: that the books started from a balanced position, that a closed period cannot be quietly changed, that the app itself tells you what does not look right, and that every change has a name and a time against it.

Opening balances that actually balance

Every ledger in one grid. As you type, the total debit, the total credit and the difference update live in front of you. When there is a stubborn difference — and on a first migration there always is — one click posts it to Suspense A/c, so the books balance from day one and the unexplained amount is visible instead of hidden.

Period lock, enforced by the server

Set a date and everything before it is closed. A posting or a change dated inside a locked period is refused by the server, not merely greyed out on a screen — so it holds however the request arrives. A reversal is always dated today for the same reason: it can never reach back into a month you have already signed off.

The audit trail

Who created, changed or cancelled what, and when, with the values before and after. It covers vouchers, ledgers, groups, the books settings, the financial year, opening balances, bank accounts, imported statements and cheques. It is append-only — entries are added to it, never taken out.

Exceptions, with the fix on the row

A read-only list of the things that block a clean close or a filed return. Each row says what is wrong, by how much, and which screen to go and fix it on. High, medium and low, counted at the top.

What the exceptions screen checks

It flagsWhy it matters
Books not set upNo books start date, so nothing is posting at all. Everything else is meaningless until this is done.
Opening balances do not net to zeroYour Trial Balance and Balance Sheet will be off by exactly that amount — and it tells you the amount.
Trial Balance differs beyond the opening imbalanceSomething new has gone wrong, not something inherited. A different problem, and it says so.
Negative cashNames the cash ledger, the date and the voucher where it goes below zero. Usually a missing receipt, or a payment recorded as cash instead of bank.
Post-dated vouchersEntries dated after today, which will move a period you thought was closed.
Manual vouchers with no narrationAn auditor's first question about any journal entry.
TDS deducted from a party with no PAN26Q rejects the row and the rate becomes 20%. Names the parties.
GST invoice raised on a party with no GSTINIt goes into GSTR-1 as B2C when it should be B2B. Names the parties.
Receivables and payables beyond 90 daysThe amounts old enough to need a decision rather than another month of waiting.

A posted voucher is never edited and never deleted. Corrections are made by reversal, so the record shows what happened and what was done about it. That is not a feature we chose to add — it is what the edit-log rule requires, and books that cannot show it are not much use at an audit.

09 · What this is not

Five things this version does not do.

If you are moving your company's books onto software, you need the boundary as clearly as the feature list. Here it is, in plain words, so nothing is a surprise in month three.

01
No live two-way sync with Tally
There is a one-time XML import to bring your old ledgers, vouchers and opening balances across, and an XML export so your CA can pull the day book and the masters into Tally when they want to. That is a migration and an exchange. The two systems do not stay continuously in step, and they are not meant to — the point of the module is that you no longer need the second one.
02
Rupees only — no multi-currency
Ledgers, vouchers and every report are in INR. There is no foreign-currency ledger and no exchange-rate handling in this version.
03
Payroll does not post to the books
Labour attendance, staff attendance and wage working all exist in the app and feed your project cost. They do not post salary and wage vouchers into the accounts — those go in as a payment or journal voucher like any other.
04
No live e-invoice IRN or e-way bill connection
GSTR-1, GSTR-3B, the input register and the TDS annexure are produced as workings and as Excel. Generating an IRN or an e-way bill on the government portal is still done by you or your CA, on the portal.
05
One company's books, not a consolidation
You get company-level statements and project-wise income and expense inside them. There is no consolidated financial statement across several group companies in this version.
06
And on assets, precisely
Fixed Assets is one of the standard groups, so what the company owns is held in these books and appears on the Balance Sheet. There is no fixed-asset register with depreciation schedules — depreciation is a journal voucher you post.
Coming from Tally with years of history? When your books are set up, party ledgers are created from the clients, contractors, suppliers and vendors already in the app, and your finalised bills, receipts, payments, advances and inward entries can be posted at their real dates — so you start with genuine ledger history and a true bill-wise ageing, not an opening balance and a blank page. You see a dry run first, party by party, and nothing is committed until you say so.

Bring one finalised bill to the call.

Thirty minutes. We will show you the exact voucher it posts, where it lands in the Trial Balance, and how it drills back to the measurement it came from.