How to use the Firmify accounting module
1. What the accounting module is
Firmify is built for people who are not accountants. You enter what you sold and what you bought, and the system creates the journal entries, calculates VAT, and prepares the returns.
The module covers the full bookkeeping cycle:
| Area | What it includes |
|---|---|
| Master data | NSC chart of accounts, accounting periods, counterparties, bank accounts |
| Documents | Sales and purchase invoices, credit and debit notes |
| Bookkeeping | Automatic journal, manual entries, accountant approval |
| VAT | Monthly periods, ledgers, VAT return, VIES, data export (XML), submission |
| Banking | Statement import (BNB XML, Fibank CSV, generic CSV), reconciliation |
| Reports | Trial balance, general ledger, income statement, balance sheet, cash flow, GFO |
| Taxes and deadlines | Deadline calendar, corporate tax, tax losses, social insurance |
| Fixed assets and payroll | Depreciation, salaries, D1/D6, employee self-service portal |
| Integrations | NRA export and submission, audit export, SAF-T, accountant API |
| AI copilot | Invoice scanning, posting proposals, questions and answers |
2. Access, roles and company switching
Work in the module is organized per company. If you manage more than one company or work as an accountant, there is a company switcher at the top of the page showing the company name, EIK, and your role.
There are three roles:
| Role | Rights |
|---|---|
| Owner | Full access, access management, settings, managed accounting |
| Accountant | Runs the books: posts and approves entries, confirms VAT |
| Viewer | Read-only — no changes and no posting |
Key rules:
- Only an accountant can post entries (the "Post" button) and approve entries submitted for approval.
- Only the owner manages access, auto-post, and the managed plan.
- Viewers can see everything but cannot edit.
To invite someone: Accounting → Settings → Access (/accounting/settings/access). Enter an email and a role (accountant or viewer). The owner can revoke access at any time.
3. Initial setup
Step 1: Set up your books (Self-Setup)
Go to Accounting → Setup (/accounting/setup) and choose:
- Company type: company or freelancer
- VAT registration:
- No VAT — below the registration threshold
- Standard (20%) — registered under the VAT Act
- Art. 97a — B2B services to EU businesses (or services received from abroad)
- For freelancers: NRA activity type (25% general regime, 40% for lawyers and notaries, 60% for registered agricultural producers) and insurable income (between €550.66 and €2,111.64 until 31 July 2026, and between €620.20 and €2,300 from 1 August)
Click "Set up my books". Firmify automatically creates:
- ✅ Chart of accounts per the National Chart of Accounts — company or freelancer variant
- ✅ The current accounting period
- ✅ The current month's VAT period (if VAT-registered)
- ✅ A deadline calendar (taxes, declarations, social insurance)
If the chosen regime requires VAT registration, the system shows a button to /vat/new to file the application.
Step 2: Review the onboarding screens
On first login you get a short 5-slide tour (/accounting/start): what the chart of accounts is, how to open a period, choosing your first action, and a first-month checklist. You can skip it — it won't show again.
Step 3: Add a bank account and counterparties
- Bank Accounts (
/accounting/bank-accounts) — add your IBAN, bank, and currency. Needed for invoices and bank reconciliation. - Counterparties (
/accounting/counterparties) — your clients and suppliers with EIK/VAT numbers. Required for VAT ledgers and VIES.
4. Dashboard and first steps
The dashboard (/accounting) summarizes everything important:
- Quick stats — accounts, open and closed periods, recent entries
- First-month checklist — chart of accounts → period → bank account → first transaction → VAT filed
- Attention cards — e.g. "no open period" or upcoming tasks
- Pending approval — entries with "Pending Approval" status (visible to the owner and accountant)
- Charts — monthly revenue vs expenses and the revenue trend
- Financial ratios — liquidity, leverage, margin, days sales outstanding
If you manage several companies as an accountant, the dashboard redirects you to Clients (/accounting/clients) with the summary across all companies.
5. Master data: accounts, periods, counterparties, banking
Chart of accounts
/accounting/accounts — the NSC account hierarchy. You can:
- Load the default chart with one button ("Load default chart")
- Add, edit, and deactivate accounts (code, name, type, category, parent account)
- Filter by type and switch between tree and flat views
An account with existing entries cannot be deleted — only deactivated.
Accounting periods
/accounting/periods — periods group entries (usually a calendar year). You can create, close, and reopen periods.
Closing is not just a button — the system first checks for:
- draft journal entries
- entries pending approval
- unissued (draft) sales and purchase invoices
If any exist, you get a list of blockers with links to them (the readiness check). A closed period accepts no new entries — this protects finalized years from accidental changes.
Counterparties
/accounting/counterparties — clients and suppliers with name, EIK, VAT number, address, country, IBAN, bank, email, and phone. Tick "Accepts electronic invoice" if the counterparty can receive e-invoices. A counterparty with posted transactions cannot be deleted.
Bank accounts
/accounting/bank-accounts — IBAN, currency, bank, and BIC. Each row has a "Reconcile" button (see section 9).
6. Journal (accounting entries)
The journal (/accounting/journal) is the general ledger — all financial movements. Most entries are created automatically from invoices, but you can also enter them manually.
New entry
/accounting/journal/new:
- Date, description, and period (open periods only)
- Debit and credit lines — pick an account, amount, counterparty, and description
- An indicator shows whether the entry is balanced (debit = credit)
- If you have saved templates for recurring entries (rent, leases, depreciation), load one with a click
Entry types: manual (MANUAL), correction (CORRECTION), accrual (ACCRUAL), reversal (REVERSAL), and opening (OPENING).
Workflow and statuses
| Status | Meaning |
|---|---|
| Draft | Editable; does not affect reports yet |
| Pending Approval | Submitted by the owner/viewer for review |
| Posted | Included in reports; no longer editable |
| Reversed | Replaced by a reversing entry |
- The accountant can post a draft directly.
- The owner can submit a draft for approval by the accountant.
- A posted entry is never edited — it is reversed ("Reverse"), which creates the opposite entry and marks the original as reversed.
7. Sales invoices
/accounting/invoices — the list with filters by status, date, and counterparty.
Creating and issuing
- New Invoice → pick a client, bank account, date (the due date is suggested automatically), currency, and VAT rate (20%, 9%, or 0%/exempt)
- Add lines in the editor — description, quantity, unit price; you can save frequently used lines
- Review and click "Issue"
On issue, Firmify:
- creates a posted journal entry (revenue 701, receivable 411, VAT 4532)
- adds the line to the month's VAT ledger
- requires an open VAT period for the month of the tax point
- generates and archives UBL 2.1 XML and numbers the invoice
Numbering is a consecutive 10-digit number under Art. 114(1)(2) of the VAT Act (a monthly series is allowed, e.g. 2608000001) and is generated automatically.
VAT treatment
The system determines the treatment from the client and the supply:
| Treatment | When |
|---|---|
| Standard (S) | 20% or 9% in Bulgaria |
| Intra-EU supply (K) | Goods to an EU business with a valid VAT number |
| Reverse charge (AE) | Services to an EU business with a valid VAT number |
| Export (G) | Goods outside the EU |
| Exempt (E) / out of scope (O) | Depending on the regime |
| Domestic zero rate (Z) | 0% domestic supply |
VIES mainly includes supplies under the K and AE treatments.
Other actions
- PDF — download the invoice
- Duplicate as new — for recurring invoices
- Mark as paid — creates a payment entry
- Credit / debit note — corrects an issued invoice (the original is never deleted or cancelled — it is corrected with a note)
- Submit to SEF — when the e-invoicing channel is enabled; statuses are tracked automatically
📘 Detailed guide: How to issue a sales invoice →
8. Purchase invoices
/accounting/purchases — the same model as sales, but for incoming invoices.
- New Purchase Invoice → supplier, date, currency, supplier's number, lines, and VAT
- The "Scan invoice" button can read a photo, PDF, or DOCX and prefill the draft automatically (an AI copilot feature)
- "Issue" posts: expense (6xx), payable (401), and recoverable VAT (4531)
An issued purchase can be cancelled — the system creates a reversing entry and removes the VAT entry. As with sales, drafts are editable and issued documents are immutable.
📘 Detailed guide: How to record a purchase invoice →
9. Bank import and reconciliation
Statement import
/accounting/integrations/bank-import accepts:
- BNB XML
- Fibank CSV
- generic CSV (with automatic format detection)
Upload the file, review the parsed rows, and confirm. If you use open banking (PSD2), transactions can be synced automatically.
Reconciliation
From Bank Accounts → Reconcile (/accounting/bank-accounts/[id]/reconcile) you see two columns: bank lines and accounting entries. Match pairs ("Match") or undo a match. For an unmatched expense you can create a purchase invoice directly with the date, amount, and description prefilled.
📘 Detailed guide: Bank import and reconciliation →
10. VAT: periods, ledgers and returns
Periods and ledgers
/accounting/vat — create a monthly VAT period ("New Period"). Statuses are Open → Closed → Submitted. All issued invoices and purchases flow automatically into:
- Purchase ledger — purchases, imports, customs, self-supply
- Sales ledger — sales, debit and credit notes
- VAT return — calculates VAT payable or refundable
Before closing a period, review both ledgers — this is the moment to catch a missing invoice.
Reverse charge and pro-rata
- Reverse charge (EU services) — creates a pair of "self-supply" entries (VAT charged and VAT deducted); the net effect is zero
- Pro-rata — if you have both taxable and exempt supplies, configure the coefficient and the system calculates the deductible and non-deductible VAT
Filing with the NRA
Once the period is closed:
- Download the data export (XML) from NAP Export or directly from the VAT period
- File it in the NRA portal — manually or with the NRA software (the official TXT files)
- Track the submission status: Pending → Processing → Awaiting confirmation → Submitted → Confirmed (or "Failed" with a retry option)
- Enter the incoming number from the NRA to confirm receipt
VIES (Appendix 4) is filed monthly, together with the VAT return — the system collects supplies under the K and AE treatments.
📘 Detailed guide: VAT return →
11. Reports, financial statements and GFO
/accounting/reports is the reporting hub:
| Report | What it shows |
|---|---|
| Trial Balance | Turnover and balances for all accounts in a period |
| General Ledger | Chronology of entries per account |
| Account Card | Movements on a specific account |
| Income Statement | Revenue, expenses, and profit/loss |
| Balance Sheet | Assets, liabilities, and equity |
Reports have a CSV export, and the full dataset can be downloaded as Excel, CSV, or JSON from the audit export (section 15). Extended reports such as cash flow, AR/AP aging, comparative statements, XBRL, and segment analysis are available through the accountant API.
Annual financial report (GFO)
/accounting/reports/gfo:
- Pick a year
- The system determines the enterprise size (micro, small, medium, large) from assets, revenue, and employees
- Generate the ready DOCX documents: Balance Sheet, Income Statement, Cash Flow, Changes in Equity, Notes
- For micro enterprises some statements are hidden; for medium and large enterprises the system flags that a qualified accountant is required
📘 Detailed guide: Annual financial report with Firmify →
12. Fixed assets and depreciation
/accounting/assets — for computers, cars, machinery, equipment, and buildings:
- New Asset — name, acquisition date and cost, useful life (months), residual value, account
- Method: straight-line or declining balance
- "Depreciate" — the system posts the expense (603) and accumulated depreciation; you can also view each asset's history
The tax depreciation schedule (/accounting/assets/tax-schedule) compares accounting and tax depreciation per the Corporate Tax Act tax depreciation rates.
⚠️ Depreciation is not charged automatically on a schedule — you run it manually for the relevant period.
📘 Detailed guide: Fixed assets →
13. Payroll, employees and the employee portal
Calculator and salaries
/accounting/payroll:
- New Salary — name, EGN, position, year, month, and gross salary (you can also run a batch for several employees)
- The built-in calculator computes with the current values:
- employer social insurance (DOO, ZO, DZPO, TZPB)
- employee social insurance
- income tax (10%)
- net salary
- A journal entry is created for the salary
After a batch is paid, D1 and D6 declarations are generated, ready to submit to the NRA (manually or with assisted submission — same statuses as VAT filing).
Employee portal
/accounting/employee is a separate portal for employees:
- Payslips — view and download by year
- Leave — request leave (paid, unpaid, sick) and see the approval history
- Labor dossier — request documents, service notes, and tax certificates (UP-2/UP-3), download the employment contract
Access is granted by entering an EGN for the session — the data is not stored permanently in the browser.
📘 Detailed guide: Payroll in Firmify →
14. Deadline calendar, taxes and year-end closing
Calendar and notifications
/accounting/compliance — generate the year's deadlines ("Generate deadlines") and track statuses: Upcoming → Due → Overdue → Completed (or skipped). Deadlines include VAT, social insurance, annual declarations, GFO, NSI, BULSTAT, the beneficial owner declaration, and more. Freelancers get a separate card with insurable income and contributions.
Tax losses
/accounting/compliance/tax-loss — tracks tax-loss carry-forwards (up to 5 years, consumed on a first-in-first-out basis). For each year you see how much was used and what remains.
Tax closing
/accounting/tax-closing — the corporate tax assistant: from the accounting result through adjustments to the tax base and tax due (10%), with a proposed journal entry for the accrual.
Freelancer tax return
/accounting/tax-return — the annual return under Art. 50 of the Personal Income Tax Act for freelancers: income, deemed expense, social insurance, tax, and the final amount. It can be printed or filed with the NRA.
Year-end closing — order of operations
- Enter all invoices and statements for the year
- Review and close the VAT periods
- Post and approve all entries (no drafts or pending items)
- Run depreciation and December salaries
- Close the accounting period under Periods
- Generate and sign the GFO
- Review the reports — trial balance, income statement, balance sheet
📘 Detailed guide: How to close an accounting period →
15. Integrations, exports and API
/accounting/integrations gathers all connections to external systems:
| Integration | What it does |
|---|---|
| Bank Import | Imports statements from online banking (section 9) |
| NAP Export | Data export (XML) for VAT, VIES, the annual declaration, D1, and D6 |
| NRA submissions | History of all submissions with cancel, retry, and receipt confirmation |
| Audit Export | The full accounting dataset as JSON, CSV, or Excel |
| Opening balances | CSV import of opening balances with validation and preview |
| SAF-T Export | Generates SAF-T XML (when enabled on your plan; preview and download only, no NRA submission) |
For developers and accounting firms
- Accountant API keys — access companies, journal, invoices, VAT, and annual data across multiple clients, with request rate limits
- Webhooks — events such as invoice issued, entry posted, period closed, and VAT period closed can trigger external systems
- UBL 2.1 — inbound and outbound e-invoices
16. AI copilot
The copilot is a set of AI features enabled according to your plan. They all keep a human in the loop — the copilot proposes, you decide.
- Document scanning (
/accounting/copilot/inbox) — upload a photo, PDF, or DOCX of an invoice and get extracted data and a draft purchase, with a confidence score - Bank transaction proposals — during bank import (section 9)
- Ask Firmify (
/accounting/copilot/ask) — natural-language questions over your books with source links and clear refusals when data is missing - Approvals (
/accounting/copilot/approvals) — a queue of AI-created drafts to approve or reject; only a human can approve - Auto-post rules (
/accounting/settings/auto-post) — per-counterparty automation with a maximum amount, minimum confidence, and monthly limit; it runs in shadow mode by default (proposals only) - Close readiness — under Periods, see exactly what blocks closing
17. Accounting firms and managed accounting
Client dashboard
/accounting/clients is the workspace for multiple companies:
- Health and status for each client — open periods, drafts, pending invoices, last activity
- This week — a summary of what's done, due, and overdue
- Deadlines and alerts — the next 30 days and per-client warnings
- Action suggestions — what to do next
Onboarding a new client
/accounting/clients/new — enter the EIK, choose a package (monthly, VAT + annual, full), and optionally invite the owner by email. Firmify creates the company, loads the chart of accounts, opens the period, and grants you accountant access.
Client tasks
From a client's card (/accounting/clients/[companyId]) you create tasks in the client portal — upload a document, sign, confirm, or provide information, with a due date. Ready-made task packs are available (monthly, VAT, full).
Managed accounting
/accounting/managed — if you'd rather not run the books yourself, you can subscribe to have Firmify do it for you. The managed plan also covers working with more than 5 clients — when you exceed the limit, the system points you to this plan.
18. When you need an accountant
Firmify is enough for self-service when:
- you have no employees, or a few with simple payroll
- you have up to around 50 transactions a month
- your activity is uniform (e.g. consulting services only)
- you don't trade intensively with the EU (intra-community acquisitions, exports, triangulation)
We recommend an accountant for:
- Audited GFO — mandatory for medium and large enterprises
- Complex payroll — business trips, sick leave, maternity leave, civil contracts
- International trade — intra-community acquisitions, exports, triangulation
- Tax audit — professional representation before the NRA
- Inventory — there is no separate inventory interface in the module
The three things you should not do alone:
❌ Don't file the GFO without a review — a mistake in the annual report can trigger an audit
❌ Don't file VAT without checking — open the ledgers and verify the invoices before the 14th
❌ Don't skip zero returns — even with no activity, a zero VAT return must be filed
💡 The optimal model for a small EOOD: run your day-to-day bookkeeping yourself with Firmify and hire an accountant only for the year-end closing and GFO.
All guides
- How to Register a Company in Bulgaria (2026 Guide)
- EOOD vs OOD in Bulgaria — Which to Choose?
- Company Registration Costs in Bulgaria (2026)
- VAT Registration in Bulgaria — When & How
- Corporate Tax in Bulgaria — 10% Flat Rate Guide
- How to Register an EOOD in Bulgaria — Full Guide
- How to Register an OOD in Bulgaria — Full Guide
- Check & Reserve a Company Name in Bulgaria
- Documents for Company Registration in Bulgaria
- Signing Documents for Company Registration — QES, Specimen, Firmify
- Signing Help — Evrotrust, PDF, B-Trust
- Sign PDF with QES Outside Firmify — Adobe Reader, Steps
- Signing with Evrotrust in Firmify — Steps
- B-Trust, Smart Card, and BISS for Signing
- EOOD Escrow Account: Bank Capital Document
- AFR 2026 Deadline: 30 September
- Company Registration & Maintenance Costs in Bulgaria
- Online Company Registration in Bulgaria
- Dissolving an EOOD/OOD in Bulgaria — Procedure & Timeline
- Share Transfer in EOOD/OOD — Procedure & Documents
- Company Amendments in the Commercial Register (A4)
- Euro Capital Conversion — EOOD and OOD
- GDPR Policy & Legal Documents for Your Business
- Employment Contract & HR Documents in Bulgaria
- How to Find an Accountant or Lawyer for Your Company in Bulgaria
- Firmify Partner Program — How to Earn
- Business Documents — Offers, Pro Forma Invoices, Invoices
- Do I Need a Lawyer to Register a Company in Bulgaria?
- Firmify vs Lawyer vs DIY Company Registration
- Registering a Company with Firmify — How It Works Step by Step
- How Long Does Company Registration Take in Bulgaria?
- What to Do After Receiving Your EIK?
- Do I Need a Notary for Company Registration?
- EOOD vs Freelance in Bulgaria — Which Is More Profitable?
- Manager Social Insurance for EOOD — Types & Obligations
- Public procurement radar: CPV codes and your Firmify profile
- What “AI assistance” means for TED notices
- End-to-end Firmify tenders flow: TED radar, case workspace, Stripe document pack
- Paid TED document pack for Firmify tenders: Stripe, statuses, filenames
- How to find the CPV code for your business
- Requirements for participating in public procurement in Bulgaria
- Art. 97a VAT Filing in Bulgaria — Monthly Guide (2026)
- VIES Declaration in Bulgaria — Guide 2026
- How to use the Firmify accounting module
- Monthly accounting checklist for EOOD
- How to file a VAT return with Firmify
- How to record a purchase invoice in Firmify
- How to issue an invoice with Firmify
- How to close an accounting period in Firmify
- Annual financial report (GFO) with Firmify
- Accounting glossary — Bulgaria
- Can an EOOD owner do their own bookkeeping in Bulgaria?
- DIY bookkeeping vs an accountant in Bulgaria: what each costs
- DIY bookkeeping risks in Bulgaria: mistakes, fines, liability
- The hybrid bookkeeping model: DIY monthly, accountant at year-end
- Switching from an accountant to DIY bookkeeping (and back)
- Bank statement import & reconciliation in Firmify
- Payroll and salaries in Firmify — EOOD guide
- Fixed assets and depreciation in Firmify
- Freelance Profession in Bulgaria — Complete Guide 2026
- BULSTAT Registration for Freelancers — Step by Step 2026
- Taxes and Social Security for Freelancers in Bulgaria 2026
- Freelance vs EOOD Tax Calculator — How to Use
- Freelance Accounting in Bulgaria — Self-Service with Firmify
- Freelance vs EOOD in Bulgaria — When to Incorporate?
- Digital Nomad Tax Guide: Working as a Freelancer in Bulgaria 2026
- How to Register as Self-Employed in Bulgaria as a Foreigner 2026
- VAT for Freelancers in Bulgaria 2026 — When to Register
- OKD-5 Declaration — Registering as Self-Employed in Bulgaria
- Choosing Insurance Income for Freelancers in Bulgaria 2026
- Annual Tax Return (Art. 50) for Freelancers in Bulgaria
- Public API v1 — Developer Documentation
- Using the Firmify Public API — Developer's Guide
- Public API Changelog
Was this article helpful?