B+ Accounting ERP is a cloud-based accounting software designed for Indian businesses. It supports double-entry bookkeeping, GST compliance, inventory management, multi-company/multi-financial-year operations, and role-based access for teams.
Unlike traditional desktop-only accounting software, B+ Accounting ERP runs entirely in your browser โ on any device, any operating system, from anywhere. Your data lives securely in a managed database with automatic backups, full audit logs, and hardened security against CSRF, XSS, and SQL injection.
When you first deploy the application, visit /install.php to run the database schema installer. This will create all tables and seed them with sample data:
admin / Password password. Change this immediately after first login.Database credentials are stored as environment variables (DB_HOST, DB_USER, DB_NAME, DB_PASSWORD). There is no need to edit config files directly.
Navigate to /login.php and enter your username and password. The system checks your credentials against a bcrypt-hashed password. On successful login, your session is established with company, financial year, and role context.
After login, the Dashboard shows a summary of your companyโs financial health. The sidebar on the left provides navigation to all modules. The top bar on the right lets you toggle light/dark mode and access your account menu.
There are four roles, each with escalating permissions:
| Role | Can create vouchers | Edit/cancel | Manage masters | Admin |
|---|---|---|---|---|
| Admin | โ | โ | โ | โ |
| Accountant | โ | โ | โ | โ |
| Staff | โ | โ | โ | โ |
| Viewer | โ | โ | โ | โ |
Only Admins can create new users, change company settings, run the database backup, and view the full audit log. Accountants can edit and cancel existing vouchers. Staff can only create new vouchers. Viewers can only view reports.
Users are created under Admin โ Users. Each user belongs to a single company and sees only that companyโs data.
Before you record any transaction, you need a Chart of Accounts โ this is the backbone of your accounting system. It consists of Groups (categories) and Ledgers (individual accounts).
Go to Masters โ Groups to view or create groups. Common groups include: Assets, Liabilities, Income, Expenses, Direct Income, Indirect Expenses, Cash-in-Hand, Bank Accounts, Sundry Debtors, Sundry Creditors.
Go to Masters โ Ledgers to create individual accounts. Each ledger belongs to one group. For example: โHDFC Bankโ belongs to โBank Accountsโ, โABC Customerโ belongs to โSundry Debtorsโ.
Ledgers can be set as Active or Inactive โ inactive ledgers no longer appear in voucher entry dropdowns but remain in reports for historical data.
Every financial transaction is recorded as a voucher. B+ Accounting ERP supports all standard voucher types:
Records an outgoing payment. Typical use: paying rent, salaries, or bills to suppliers.
Menu: Accounting โ Payment
Enter the bank/cash ledger (Cr), the expense/liability ledger (Dr), the amount, and narration. The system automatically validates that total Dr equals total Cr.
Records an incoming receipt. Typical use: receiving money from customers or cash deposits.
Menu: Accounting โ Receipt
Enter the bank/cash ledger (Dr), the income/asset ledger (Cr), the amount, and narration.
General journal entries for non-cash transactions. Typical use: year-end adjustments, depreciation, provision entries, inter-ledger transfers.
Menu: Accounting โ Journal
Transfers between bank and cash accounts. Typical use: cash deposit to bank, cash withdrawal from bank, bank-to-bank transfer.
Menu: Accounting โ Contra
Both ledgers must belong to Cash-in-Hand or Bank Accounts groups.
Records a sale of goods or services.
Menu: Sales & Purchase โ Sales Invoice
Choose a party (Sundry Debtors), select stock items (with quantities), and the system auto-calculates GST based on the itemโs configured rate. You can also add additional ledger entries (like shipping, discount) as separate lines.
Records a purchase of goods or services.
Menu: Sales & Purchase โ Purchase Bill
Works exactly like Sales Invoice but with a party from Sundry Creditors. GST is calculated automatically.
Issued when you return goods to a supplier or receive a price reduction.
Menu: Sales & Purchase โ Debit Note
Issued when a customer returns goods or you grant a price reduction.
Menu: Sales & Purchase โ Credit Note
Every voucher gets an auto-generated number (e.g., PMT/2024/00012). You can also add a manual reference number (e.g., cheque number, invoice number) in the Ref No field.
Every voucher must have at least two entries โ one debit and one credit. The total of all debits must equal the total of all credits.
The system automatically checks this balance and refuses to save a voucher if Dr โ Cr. If you see an error message, review your entries and amounts.
Cancelled vouchers are not deleted from the database. They are soft-cancelled โ marked with is_cancelled = 1 and their entries are excluded from all financial reports automatically.
To cancel a voucher: Go to Accounting โ All Vouchers, open the voucher, click the red Cancel Voucher button. The action is logged in the audit log.
Editing non-cancelled vouchers: Admin and Accountant users can edit Payment, Receipt, Journal, and Contra vouchers. Sales and Purchase invoices cannot be edited (you must cancel and re-create).
Recurring vouchers let you automate repetitive transactions like rent, EMIs, subscriptions, or salaries. You create a template once, and then post it when needed.
Menu: Accounting โ Recurring
Posted vouchers are linked to the template via a REF- number. The template tracks a counter of how many times it has been posted.
Inventory is managed under Masters with stock items, units, and groups.
Each item has a name, HSN code (for GST), purchase rate, selling rate, and opening quantity. When you create a Sales or Purchase voucher with item lines, the stock quantity is automatically updated.
Go to Reports โ Stock Summary to see current quantities, purchase value, and selling value. Use the Low Stock filter to see items that have dropped below their minimum threshold.
Define units like "Pcs", "Kg", "Box", "Dozen" under Masters โ Units. Each unit can have a decimal precision.
Indiaโs GST system is fully integrated. GST rates are configured on each stock item (0%, 5%, 12%, 18%, 28%). When a Sales or Purchase voucher includes items, the system auto-calculates the tax split.
The tax ledger IDs are determined by the companyโs GST configuration (if GST is enabled). The company settings page lets you set your GSTIN, state, and whether GST is applicable.
Stock items are linked to HSN codes. When you create an invoice and add items, the HSN code is stored on the invoice line item.
SAL/2024/00001).Go to Reports โ GST Reports to access:
All reports use date range filters. You can export any report to CSV for further processing in Excel. All GST reports respect cancelled vouchers and exclude them.
A Sales Order (SO) is a pre-invoice document โ a commitment from the customer to buy goods. It is not an accounting entry. It does not affect stock or GST until a Sales Invoice is raised against it.
Menu: Sales & Purchase โ Sales Orders
SO/2024/00001). The next number is per-company, per-financial-year.A Purchase Order (PO) is a pre-bill commitment to a supplier. It works like a Sales Order but for your purchases. It does not affect stock or GST until a Purchase Bill is received.
Menu: Sales & Purchase โ Purchase Orders
B+ Accounting ERP generates the following financial reports, all available under the Reports section in the sidebar:
| Report | What it shows | Key filters |
|---|---|---|
| Trial Balance | All ledgers with their closing Dr/Cr balances | Date range (from / to) |
| Profit & Loss | Income vs expenses, net profit or loss | Date range |
| Balance Sheet | Assets, liabilities, and equity as of a date | As-of date |
| Ledger Report | Full transaction history for one ledger | Ledger + date range |
| Cash Flow | Opening/closing cash, receipts, payments | Date range |
| Day Book | All vouchers for a single day | Date |
| Outstanding Receivables | Amount owed by each customer | As-of date |
| Outstanding Payables | Amount owed to each supplier | As-of date |
| Aging Analysis | AR/AP split by 0-30/31-60/61-90/90+ days | Type (receivables/payables) |
| Stock Summary | Current stock quantities and values | Low-stock filter |
| Budget vs Actual | Budget variance for income/expense heads | Period (monthly/quarterly/yearly) |
| Bank Reconciliation | Book vs bank balance with cleared status | Bank ledger |
| GST Reports | GSTR-1, GSTR-3B, HSN Summary | Date range |
All reports include a Print button that opens the browser print dialog. You can also use your browserโs Save as PDF feature to download the report.
Most reports support CSV export via a csv=1 URL parameter. The file is generated with a UTF-8 BOM so Excel opens it correctly. Use the Export link on the report page.
Bank Reconciliation helps you match the transactions in your books with your actual bank statement.
Menu: Reports โ Bank Reconciliation
If you use Bank Import (vouchers/bank_import.php), you can also import the bank statement and auto-match vouchers before reconciliation.
Aging breaks down your receivables or payables into time buckets: 0-30 days, 31-60 days, 61-90 days, and 90+ days. This helps you understand which invoices are overdue and by how much.
Menu: Reports โ Aging Analysis
Set budgets for income or expense heads and compare them to actual performance in real time.
Menu: Reports โ Budget vs Actual
Bulk import lets you add hundreds of ledgers or stock items at once using a CSV file.
Menu: Masters โ CSV Import
Import your bank statement CSV directly and turn rows into accounting vouchers.
Menu: Accounting โ Bank Import
Maximum 1000 rows per import. Only .csv and .txt files are accepted (2 MB limit).
Go to Admin โ Backup to download a complete SQL dump of your companyโs data. This includes all tables, all records, and all data โ a single-click export.
Back up before financial year lock, before major changes, or before month-end closing. Store the SQL file in a safe location.
Every create, edit, delete, cancel, and login action is logged with the user, timestamp, IP address, and a description of what happened.
Menu: Admin โ Audit Log
The log shows the action type (e.g., CREATE, UPDATE, DELETE, LOGIN_FAILED), the table involved (e.g., vouchers, ledgers), the record ID, the user who performed it, and the exact IP address.
B+ Accounting ERP is hardened against common web application vulnerabilities:
htmlspecialchars() before rendering. No user input is rendered raw.company_id. Users cannot access data from other companies by changing IDs.CSRF (Cross-Site Request Forgery): An attacker cannot trick a logged-in user into performing an unwanted action. Every form submission requires a matching token from the session. The token is regenerated on login and rotation.
Rate Limiting: Failed login attempts are counted per username or IP address. Once the count reaches 5, the account is locked for 15 minutes. This prevents both brute-force attacks and credential-stuffing.
What to do if locked out: Wait 15 minutes and try again. If you still have issues, contact your Admin user.