Do you keep the books for dozens or hundreds of clients and are you considering a switch to ABRA Flexi? This guide is written from the perspective of an accounting firm owner, chief accountant, or managing director. It doesn't cover how to post a single invoice. It covers everything you need to decide and set up before you put your first clients and your whole team into the system.
In Flexi, an accounting firm deals with things that a single-company customer never encounters: a client-based licensing model, data separation between clients, a unified accounting methodology across companies, taking over the books from a predecessor, and a client leaving. These are exactly the topics covered in the first part.
💡 Interested in pricing for the accounting firm plan? Check out our website and contact our sales team for an official quote.
What ABRA Flexi offers an accounting firm
Before you start setting anything up, it's worth aligning your expectations. ABRA Flexi is a full-featured business system for individual accounting entities, with a layer on top for managing multiple companies.
What you can rely on in Flexi:
The number of companies in your license is not limited in any way — you can create a new company at any time, regardless of the application edition.
You manage clients as separate sublicenses, each with its own Flexi edition and with data isolated from other clients.
A firm user can have access to all companies across clients, while a client user sees only their own companies.
All management of companies, clients, users, and the license is in one place in the web interface.
You can generate a backup of any company yourself and restore a company from it at any time.
You can have multiple companies open at once — in the desktop application (using the so-called company selection in a new window) as well as in the web application (by opening a company in a new tab).
The accounting firm plan includes API access in the price and an increased limit of 50,000 API requests per day.
What to plan for in advance:
Bulk operations primarily work only within a single company. Bulk document changes or bulk posting cannot be run "across all clients" at once. If you need such operations, we can create a custom solution for you — in that case, contact us at podporaflexi@abra.eu with your request. We already have, for example, an add-on for bulk file import into multiple companies.
There is no consolidated overview of documents across all client companies. A summary across the license is available only for companies, users, and license consumption, not for accounting data. As with the point above, though — if you need such an overview, contact us at podporaflexi@abra.eu with your request.
Payroll and HR are not available in the web interface at all — they are processed exclusively in the desktop application. The web displays the Employees and Assets modules but does not allow editing. We are working on making these modules available in the web application as well.
Flexi has no output for corporate income tax; the balance sheet and the profit and loss statement serve as the basis. More details in the second part.
💡 We recommend using the same methodology across clients — the same document types, the same analytical accounts, the same posting rules. An accountant who switches to a different client then doesn't have to get their bearings again. How to achieve this is described in the section on the chart of accounts and posting rules.
Before you start: eight questions that determine your setup
The answers to the following questions determine what your license will look like and how much work awaits you. We recommend going through them before you create your first client company — some decisions are difficult or impossible to change later.
Question | Why it matters | Where it applies |
How many companies will you actually manage, and how many of them are active? | You pay for active companies. Inactive, test, and template companies belong in the archive, where they are not subject to the fee. | |
Will the client have access to their data, or will you just send them outputs? | This determines which edition you choose for their sublicense, or whether to choose the option without active access. | |
Should each accountant see only their own clients? | Access is governed by assigning the user to a client. A client user cannot reach companies outside that client. | |
Do you need to restrict visibility even within a single company? | Restriction by document type, document series, or record author is a Premium edition feature, not a standard role. | |
Will you create clients with similar settings? | It pays to build a "template" company and restore new clients from it instead of re-entering the settings. | |
Do you keep books for clients using a unified methodology, or does each get their own approach? | A unified chart of accounts and posting rules can be transferred by importing from Excel; different settings for each client cannot. | |
Are you taking over the books mid-year, or at the start of a new period? | A transition within a period is more laborious, especially for unpaid receivables, payables, and advances. | |
Do you also serve Slovak accounting entities? | The legislation country and organization type are chosen when the company is created and cannot be changed afterwards. |
🚨 You set the legislation country and organization type in the first phase of the company creation wizard and they cannot be changed afterwards — not even by a custom modification. You can find an overview of available combinations for both the Czech Republic and Slovakia among the supported organization types. Verify both values before you create a company for a client.
Accounting firm plan
Accounting firms have their own pricing model, based on how a firm actually works with the system: it manages dozens of companies to which the whole team has access, and some clients want to view or work in their own data. You can find the complete price list and license terms on the plan page and in the license terms; a detailed description of the screens is in the guide to the accounting firm plan.
The following diagram shows how the individual license levels connect. Below the firm license are clients as separate sublicenses, below each client are one or more companies, and specific users are assigned to the companies. This structure determines who can access which data and what you pay for.
How it differs from a standard license
A standard license is one company or a group of companies of a single customer with a single number of accesses. The accounting firm plan adds a second level above the license — clients:
Under the firm license, you create clients, which are separate sublicenses.
Under each client, you place one or more companies.
An accounting firm user automatically has access to the assigned companies across clients in the highest Premium edition.
A client user has the edition you choose for the client and sees only the companies of their client.
The firm's own accounting entity, test companies, and the "template" companies mentioned above can be kept directly under the firm license, without being assigned to a client.
The accounting firm license automatically includes API access in the price. You and your clients can therefore start using the API right away.
The plan also includes an increased limit of 50,000 API requests per day. For comparison: the standard editions include 5,000 requests for Basic, 10,000 for Business, and 20,000 for Premium. You can monitor both consumption and the agreed limit in the Licenses and Subscription section on the API Usage tab.
Client as a sublicense
A client is a sublicense subordinate to your firm's license. You always create one, whether or not the client needs their own access to Flexi — if they don't, choose the no access edition. Each client has a name, company ID (IČ), and contact email; these three details are required for the sublicense to be created.
What's essential to know about clients:
All users within one client license have the identical edition of Flexi — Basic, Business, or Premium. You can't have one user on Basic and another on Premium under the same client.
Each client's companies and users operate in a separate, isolated environment. A user cannot reach another client's data.
If a user is assigned to a client, they cannot be assigned to a company outside that client.
Access to all companies across all clients is available only with the Accounting firm access type.
The usual relationship is one client = one company, but one client can also have multiple companies, typically branches or subsidiaries.
🚨 If you move a user under a client while they also have access to a company outside that client, they will lose that access. Before moving, always determine which companies should belong under the given client, and only then move the user.
⚠️ Firm accesses and end-client accesses must not be mixed. The firm should not provide accesses from its license to clients, and conversely should not work itself under accesses intended for clients. This separation ensures proper licensing and transparent invoicing.
Active and archived companies
The fee is tied to an active company — specifically CZK 95 per active company. Therefore, archive companies that you don't need in operation. Archiving means "putting to sleep": the company disappears from the company selection, but the data is preserved and the company can be reactivated at any time.
What typically belongs in the archive:
companies of clients who have already left but whose data you are legally required to retain,
test companies in which you try out procedures,
template companies from which you create new clients,
seasonal or temporarily inactive accounting entities.
Only the web interface can archive and delete companies in bulk, in Settings (the gear icon at the bottom left) on the Company Management tab. The desktop application can archive and delete only one company at a time, directly in the company selection after login.
💡 Make reviewing your company list a regular activity, ideally once a quarter. Unused companies in the active list are a direct cost and also make it harder to navigate when switching between clients.
If you are migrating from an older licensing model
Firms that used Flexi before the plan was introduced went through a one-time transition: in the Company Management agenda, they downloaded an Excel template with a list of companies, filled in the client, their company ID, the license edition, and the contact email for each company, and uploaded the file back. Users were moved automatically. The procedure and solutions to the most common issues are described in the guide to the transition to the new plan, and a video tutorial is also available.
📝 The deadline for completing the bulk transition was February 13, 2026, and invoicing since March 2026 has been following the new rules. If you are setting up a firm today, you don't need to deal with the transition — both guides serve only as a description of how companies are assigned to clients and how incorrect assignments are corrected.
Creating and managing client companies
Company Management is your main hub in the plan. You can find it in the web interface in Settings under the gear icon at the bottom left. The More functions button next to each company offers company backup, moving between licenses and sublicenses, deletion and archiving, or reactivation.
Creating a client company
You create a new company with the Create new company button. On the Clients tab, you also choose whether you are creating the company for the firm or for a specific client. A step-by-step procedure, including the individual settings tabs, is described in the guide to creating a new company.
Details you fill in right at the start:
the client's company ID (IČO) and VAT ID (DIČ),
Legislation country and organization type — an irreversible choice, see the warning above,
information on the Legislation tab: main NACE activity, VAT payer flag, regional tax office and local branch, currency,
logo and stamp for the client's print reports.
⚠️ The VAT payer flag on the Legislation tab is easy to overlook. Without it, VAT outputs will not be generated correctly for the client, and you may discover the error only at the first return.
A "template" company instead of re-entering settings
If you create clients with similar settings, there's no point in filling in everything again for each one. Build one company as a template and restore new clients from it. The procedure is described in the guide to the template for creating new companies.
Create a new empty company without test data and name it so that it's obvious it's a template.
Set up everything that should be common across clients: company details, document series, document types, posting rules, and the chart of accounts.
Create a backup of the template company.
For each new client, restore the backup under their real name and mark the company as production.
Fill in what differs for the client — company ID, VAT ID, legislative details, logo.
💡 It pays to keep multiple templates by client type: one for VAT payers using double-entry bookkeeping, one for tax records, one for Slovak entities. Settings that differ by legislation cannot be changed afterwards.
📋 After creating the backup, you can archive the template company. Otherwise, you will pay for it as an active company even though no accounting is done in it.
Backups and company restore
You can generate a backup of any company you have access to directly from the company selection — by clicking the name of the open company or via the user profile and the My companies option. On the company's row, choose More functions and Back up data; a file with the extension .winstrom-backup is downloaded. Restore takes place in the same selection using the Restore data button. Details are described in the guides to company backup and to restoring a company from a backup.
If you run Flexi in the cloud, we create backups automatically every day at midnight and keep them for three months back. You can download them yourself; older backups marked as archived take a moment to prepare before download.
⚠️ Automatic cloud backups do not cover archiving the data of a departing client. That has its own rules — they are described in the second part, in the section on a client leaving.
Switching between companies
In the web interface, you switch between clients by clicking the name of the currently open company, which opens the company selection. You can filter the list by typing — the filter is case-insensitive and diacritics-insensitive, and the search text can be anywhere in the name. With dozens of clients, this is the fastest way.
💡 You can see an overview of clients, their companies, and assigned users at any time in Company Management and in the Licenses and Subscription section. It is the only place where you can see the license as a whole.
Users, roles, and access rights
Access setup is the most sensitive topic in an accounting firm. It must simultaneously hold that each accountant can reach their own clients, cannot reach others', and that a client sees only themselves. In Flexi, this is handled by three independent layers: access type, user role, and data visibility rights.
Access types and who consumes a license
You manage users in the web interface in the User Overview agenda, where you can see all users across the entire license, the number of used and free accesses, and from where you can move them between clients and the firm license. A detailed description of both interfaces can be found in the guide on how to work with users.
Access type | What the user can do | Impact on the license |
Write access | Full work in both the desktop and web application according to the assigned role. | Consumes one paid access. |
Read access | Viewing data only, without the ability to write. Works in both interfaces. | Free and in unlimited numbers. |
API access | Authentication of background data transfers. It cannot log in to the application or the web. | Consumes a so-called API user, which is part of API access - included in the plan price for accounting firms. |
💡 If a client only wants to view their numbers — typically a managing director who monitors the status of receivables — set them up with read access. It consumes no paid access, and you can have as many such users as you like.
You can find out how many accesses you have active and how many of them are assigned in the Licenses and Subscription agenda, where you can also add accesses yourself. Additional overviews are offered by the article on users consuming the license and the guide on how to find out which companies a user has access to.
⚠️ A user who has already worked in Flexi cannot simply be deleted — records in the database are linked to their name. For a departing colleague, therefore, switch her to read access, set her role to BLOCKED: Inactive user, and also block the user directly (in the More functions menu of the user, choose Block).
User roles
A role determines which modules and records a user can see and what they can do in them. Several roles are predefined — warehouse clerk, accountant, payroll accountant, administrator — and they are immutable and cannot be deleted. You create your own role by copying and editing the nearest standard role; this is significantly faster than building one from scratch. Details are described in the article on user roles.
A role determines whether a user has full access to a given section, read-only access, or won't see it at all. Access can be refined down to individual functions — for example, allowing invoice creation but prohibiting their editing and deletion, or hiding purchase prices.
✅ Set up roles right when you implement the system, not only after something happens. Properly configured permissions significantly reduce the risk of unintended changes to client data.
⚠️ Role setup is currently available only in the desktop application. In the web application, you can only assign existing roles for now.
Data visibility rights
Roles handle access horizontally, by module. Data visibility rights handle access vertically, within an agenda the user can see. The difference between the two layers is explained in a separate article on roles and advanced rights.
What can be restricted by visibility rights:
individual document types — for example, a user can create a regular invoice but not a credit note or an advance tax document,
individual document series,
individual posting rules,
documents created by other users — a junior will see but cannot change a senior colleague's documents, and will not see other users' documents at all.
⚠️ Data visibility rights are available only in the Premium edition and are set for each user individually — they cannot be preset in bulk. They can be removed in bulk afterwards, but not introduced in bulk. As with user roles, their setup is available only in the desktop application.
How to make sure an accountant sees only their own clients
Neither a role nor visibility rights are sufficient on their own — what matters is the client structure and the user's assignment. Proceed as follows:
Decide which companies belong under which client and move them there in Company Management.
In the User Overview, assign the accountant only to the clients whose companies they are to process. Users are not moved automatically when a company is moved.
Verify that the accountant has no access to a company outside these clients — otherwise they would lose it during the move.
Within the company, assign them a role corresponding to their position.
If you need to restrict what they see within the company as well, add data visibility rights.
ℹ️ A user with the server right Access all companies sees all companies in the license. Keep this only for firm administrators, not for rank-and-file accountants. The rules for creating users and their permissions in a company are described in the article on users in a company.
Users can also be managed programmatically — if you need to create accesses from your own system, see user management via API.
Two-factor authentication
For an accounting firm that holds the data of dozens of entities, two-factor authentication is more of a duty than a choice. Flexi supports it based on one-time codes and it works in the cloud, on your own server, and in a local installation.
In the web interface, you activate it in Settings → User profile → Set up verification, in the desktop application in the Tools menu.
You need a mobile app or browser extension that supports one-time codes.
In the web interface, the code can only be scanned from a QR code; manual entry is not supported.
If the time on the device and on the server differs by more than 30 seconds, activation will fail.
🚨 Keep in mind that ABRA Flexi by default does not keep a clear history of user logins or of changes to user accounts. It keeps only the history of all operations performed by individual users, always per accounting entity.
Chart of accounts and posting rules
A unified methodology across clients is what distinguishes a well-configured firm from a collection of randomly configured companies. The goal is for an accountant, after switching to any client, to find the same analytical accounts, the same document types, and the same posting rules.
Chart of accounts
Even a newly created empty company already has the most commonly used analytical accounts in its chart of accounts, and these are also used in the preset document types and posting rules. You don't have to use them — you can create your own analytical accounts at any time. Checking and supplementing the chart is described in a separate guide.
⚠️ The standard chart of accounts is binding. You can add only synthetic accounts with the type Off-balance-sheet or Intra-company. You can find an overview in the standard chart of accounts.
You can also populate the chart by importing from Excel, which speeds up your work compared to manual entry.
ℹ️ For organizations of the type Entrepreneurs — tax records, accounts are not used; they are the privilege of double-entry bookkeeping.
Posting rules and document types
A posting rule determines which accounts a document is posted to. A document type uses the rule and adds further presets to it. It is precisely this pair that carries your methodology. The procedure is described in the guide to posting rules and their use in document types, and complemented by document posting presets.
You populate posting rules in bulk by importing from Excel.
Set up corresponding document series for document types so that clients have clear numbering.
A description of document types themselves, including their link to posting rules, can be found in a separate guide.
💡 A proven approach: fine-tune the methodology on one client, export the chart of accounts and posting rules from it to Excel, and import them for further clients. If you have the methodology ready before you start creating clients, incorporate it directly into a template company and you don't need to import at all.
⚠️ Imports from Excel are available from the Business edition. The firm has them automatically because its users work in the Premium edition, but a client on the Basic edition cannot import data themselves.
Posting bank movements by rules
For clients with a large number of recurring bank movements — account maintenance fees, interest, regular payments — posting by rules pays off. A rule contains conditions on values in a bank movement and a set of fields that are filled in when the conditions are met.
You either define the rules manually, or have recommended rules suggested based on the client's already posted movements.
The function then presents all unposted and unmatched movements with a posting proposal; you simply confirm or reject.
You can find it via More functions at the bottom of the Bank agenda form.
⚠️ The function is available only in the Premium edition. Firm users have it available; a client on a lower edition does not.
Taking over the books from another accountant or another system
One of the potentially risky moments an accounting firm may face is taking over a client. Flexi has a detailed series on this, Accounting transition to ABRA Flexi, which guides you through sixteen steps from creating a company to HR. The following summary shows what's essential for a firm.
When to switch
A transition at the start of a new accounting period is simpler. A transition mid-period is feasible but more laborious — mainly for unpaid receivables, payables, and advances. The article on migrating data from another system discusses this in more detail.
🚨 Never migrate in the middle of a month, especially because of VAT. Close at least a full month in the original system and only then transfer the data.
What to resolve as of the transition date
The following steps are the core of the takeover. Each has its own chapter in the series mentioned above, and for many of them there is also a web interface variant.
Create the company and fill in the company settings.
Create the previous accounting period to preserve continuity.
Check and supplement the chart of accounts, and for tax records, the posting rules.
Populate the company directory and their bank connections.
Create document types and document series for recording unpaid receivables and payables.
Record unpaid receivables and payables excluding advances and tax documents for payment.
Create cash registers and bank accounts and fill in their balances.
Set up the price list, and where applicable warehouses and stock levels.
Record opening account balances — you can find the overall procedure for the web interface in the guide to setting opening balances.
Check the balances and summary values entered as of the transition date.
Set up assets and prepare HR for payroll calculation.
ℹ️ You don't have to manage everything at once. Filling in the balances of accounts that are not tracked by balance can be done after the final financial statements, and assets can be introduced even during the new period.
Three mistakes that recur most often during takeovers:
Accounts with the Balance flag are used on internal documents. Internal documents cannot be matched to the receivables and payables posting rule; create the documents as "real" receivables or payables, and for any write-off of a receivable, use mutual offsets instead.
Cash register and bank accounts are used outside the Money module. Then the sums and the cash and bank books don't match. Upload opening balances of the bank and cash register with a receipt document in the relevant agenda.
Payments remain only partially matched. A document must have the Matched flag, otherwise the balance won't agree with the status of unpaid documents.
✅ Check the posting status in the general journal on an ongoing basis. Unposted documents do not enter summary outputs — the trial balance, account balances, balance sheet, or profit and loss statement — and these then show distorted numbers.
Migrating data from Pohoda
Transferring a larger client's books manually makes no sense. Flexi supports imports via Excel and XML, and for Pohoda it has its own migration tool. You can find an overview of all paths, including partner solutions, in the article on options for migrating from Pohoda.
What the migration from Pohoda transfers:
the directory, including contact persons and bank connections,
issued and received invoices, optionally with payments,
warehouses and stock, including the price list, sets, and bills of materials,
the cash register.
What the migration does not transfer:
accounting outputs — journal, general ledger, reports,
internal documents, bank statements, orders, and stock movements,
assets and HR,
previous accounting periods — these are entered as opening balances.
⚠️ If you transfer invoices together with payments, an auxiliary cash register with the abbreviation POKLADNA-MIGRACE is created, because the form of payment cannot be identified from the Pohoda export. The migration also creates special document types (for example FAKTURA MIGRACE) that serve only for the migration — for further work, set up your own document types.
Other systems are handled via import from Excel. The web interface goes further in imports than the desktop application: it helps with column mapping, lets you add fields that aren't in the file, and remembers the mapping on a second import. The article on smart imports describes the extended options.
ℹ️ In practice, the effort for a migration is usually up to two hours per record type, depending on the complexity of the mapping. Consider what you can handle yourself and what our service department should help you with. If you are interested in having the migration carried out, contact us at podporaflexi@abra.eu.
💡 Setting up an accounting firm is largely a decision about processes, not just about the system. If you're not sure how to build the structure of clients and accesses, get in touch — we'll walk through how you actually work and recommend a setup. We handle sales inquiries and licenses at obchodflexi@abra.eu, and technical questions about ongoing operation at podporaflexi@abra.eu.
How to get documents from a client into Flexi without retyping
Retyping documents from paper is the biggest time sink in a firm. Flexi offers several ways to avoid it; which one is best depends on the form in which you receive documents from the client.
Form in which documents arrive | Best approach | What you need for it |
Electronic invoice in ISDOC format | Nothing extra — works in all editions. | |
PDF with readable text | Web interface and the form variant with attachment preview. | |
Scanned or photographed document | Partner solution for document data extraction | An add-on beyond the base license. |
Document list in Excel | Business edition or higher. | |
Data from an e-shop or another client system | Active API access and an integration. | |
The client enters documents themselves | The client's own access to their company | A client sublicense with write access. |
Electronic invoices in ISDOC format
ISDOC is the Czech standard for electronic invoicing, and Flexi supports it in both directions. You can import a received invoice in the desktop application by choosing Tools → Import → Import ISDOC e-invoice or directly from the received invoices overview. In the web interface, ISDOC is among the supported formats for importing received invoices.
The system itself checks whether the invoice belongs to the billed company by company ID — in case of a wrong recipient, it warns you before loading.
Before completing the import, you select the document type and accounting operation type, so the document enters your methodology right away.
If the supplier is not in the directory, the creation of a new company is offered.
If the invoice contains price list items, the import follows special rules; for clients with warehouses, you can also handle receiving goods into stock right away.
A client's issued invoices can conversely be exported to ISDOC, including an electronic signature if you have a valid certificate installed.
If you need to automate the import, there is also a route via the REST API.
📋 Agreeing with a client on ISDOC is the cheapest optimization you can make in a firm. The document is loaded with its items and without retyping, which eliminates both the work and the risk of a typo in the amount.
💡 If you also need to import issued invoices from the ISDOC format, we have an add-on. It is usually used when transferring invoices between multiple systems. At the link, you will find all the information about how to activate it.
Loading a received invoice from PDF
If documents arrive as PDFs, the web interface can extract them by clicking. In the detail of a new received invoice, you turn on the form variant With attachment preview, drag the PDF into the field, and by clicking in the document step by step, you transfer individual values into the form fields. A processed value is marked with a green indicator.
Loading the base amount at the standard rate automatically fills in VAT and the total amount as well.
A value can be edited before saving — for example, splitting the company ID and VAT ID if they are in the PDF as one string.
The PDF remains stored as an attachment to the document, so you always have the original at hand for later checks and audits.
⚠️ Loading works only for received invoices and only from PDFs with readable text data. A scanned or photographed document where the content is embedded as an image cannot be loaded reliably — a partner solution for document data extraction is needed for that. An order (zakázka) also cannot be loaded, because on an invoice it is a link to the orders records.
🚨 ABRA Flexi does not check whether you transferred a value from the PDF into the correct field. After loading, therefore, always verify in particular the date of taxable supply, VAT rates, and amounts — the accountant is responsible for the correctness of posting and tax data.
Excel imports and smart imports
If you receive a list of documents in a spreadsheet from a client, the fastest route is import from Excel. The web interface goes further in imports than the desktop application: it helps with column mapping, lets you fill in fields that aren't in the file at all — such as the document type — and remembers the mapping for the next import.
How to prepare the right file:
In the agenda you want to import into, select several existing records.
Via the three dots More functions, choose Export to Excel and the for import back to Flexi variant.
The resulting file serves as a model with the correct structure and value formats.
If you don't have any data yet, download the sample file offered directly in the import dialog — the basic one for document headers, the extended one also with items.
Further options — sources of allowed values, required fields, and checks that Flexi performs before completing an import — are described in the article on smart imports. You can find an overview of individual records and their specifics in the introduction to Excel imports.
⚠️ Imports from Excel are available from the Business edition. Firm users always have them; a client on the Basic edition does not.
Bank statements and payment matching
A bank statement can be loaded manually from a file — the procedure for the web interface is described in the guide to loading a statement and creating a payment order, followed by the article on matching movements with documents. Manual downloading, however, is precisely the type of work that pays off to automate in a firm.
The automatic matching function matches movements to documents by variable symbol and amount. If matching doesn't work reliably for a client, check these two values first — they are the most common cause.
💡 For clients with a large number of recurring movements, combine matching with posting by rules. The system itself proposes rules based on already posted movements and you just confirm. The function requires the Premium edition.
Automatic online bank connection
The most effective option is the automatic bank account connection. After a one-time setup, movements are downloaded every hour throughout the day directly into the Bank record, and you can also turn on automatic matching of incoming and outgoing payments.
You set up the connection directly in the bank account detail in the list of bank accounts.
It is charged per account — CZK 69 excl. VAT per account per month.
A prerequisite is active API access on the license.
In the base price list, you can connect accounts at FIO banka, Raiffeisenbank, ČSOB, Česká spořitelna, and Komerční banka.
Communication is handled by the Dativery integration platform, which also supports other banks beyond the list above.
⚠️ If a client has multiple accounts at one bank, for example in different currencies, each account must be a separate record in Flexi with its own connection. For FIO banka, in addition, one token always corresponds to one account.
ℹ️ After activation, you may receive notification emails from the domain @dativery.com, including error reports. Pay attention to them — for a firm with hundreds of payments a day, a non-functional connection is easy to overlook.
Approving received invoices
If you process payments for a client, you'll appreciate the Sign for payment function. When approval is active, an unsigned invoice cannot be included in a payment order, so only approved documents are paid. The procedure is described in the guide to received invoices.
ℹ️ The function is not available by default. If you want to use it, you need to enable the option Require signature before issuing a payment order in the company settings (Purchasing module).
API and connecting client systems
If a client has an e-shop, a point-of-sale system, or their own application, documents don't have to come through you at all — they write themselves into Flexi. The basics are described in the guide on how to use the API. An API-type user cannot log in to the application; it serves only to authenticate background data transfers and consumes a separate paid API access.
If a client has an e-shop and you want to set it up, we recommend studying this guide. The technical side of the connection itself is covered by another guide.
ℹ️ The accounting firm plan includes 50,000 API requests per day in the price. You can see current consumption and the agreed limit in the Licenses and Subscription agenda on the API Usage tab. If the limit is exceeded, it can be increased up to 200,000 per day.
Monthly routine for each client
The following checklist is not a mandatory procedure, but a proven order of steps. Go through it for each client, and you'll catch most discrepancies before they get into a statement.
Load or check bank statements and match payments.
Process received and issued documents for the period — by import, from PDF, or manually.
Post unposted documents. Check this in the general journal — unposted documents do not enter summary outputs.
Verify the VAT source data and fill in missing lines of the return and the control statement.
Prepare and submit the VAT return, the control statement, and where applicable the summary statement.
Check the balance and the status of unpaid receivables and payables.
Lock the period after submitting the statements.
Hand over the agreed outputs to the client.
✅ Accounting check helps to uncover discrepancies across agendas, and additionally the check of differing balances and the overview of document posting checks.
⚠️ Bulk operations always work only within a single company. You cannot run bulk changes or posting "across all clients" at once, and bulk changes that have been made cannot be reverted in bulk either.
Accounting outputs in detail
For an accounting firm, outputs are not an add-on but the main working tool — both for control and for presentation. The entry point is the accounting outputs hub and the general description of the module in the article Accounting outputs. For each output, the following overview tells you what it is for, where it takes its data from, and where people most often get confused.
Where to find outputs and what is desktop-only
Accounting outputs are available in both the web interface and the desktop application and work on the same data.
⚠️ The web interface does not include payroll and HR — these are for now processed exclusively in the desktop application. The web displays the Employees and Assets modules but does not allow editing. If your firm processes payroll, keep in mind that the payroll accountant will need the desktop application for now.
General journal
A chronological record of all posted documents. It is the first output to look at when something doesn't add up — the general journal shows what was actually posted and what remained unposted. In the web interface, a simplified variant is also available, and from each row you can click through to the source document.
🚨 Unposted documents do not enter the trial balance, account balances, balance sheet, or profit and loss statement. All summary outputs then show distorted numbers. A posting check belongs in the monthly routine for each client.
Account movements
A detailed breakdown of turnovers by individual accounts for a selected period — essentially the journal sorted by account. It is used when tracing what specifically makes up the turnover on an account. The guides for the web interface and for the desktop application describe the same output.
Trial balance
A summary of opening balances, turnovers, and closing balances of all accounts. It is the fastest check of whether the client's books "hold together". It is described for the web interface as well as the desktop.
Two discrepancies accountants ask about most often:
The trial balance doesn't match account movements. The cause is usually unposted documents. Compare both reports, find the document that is in the trial balance but missing from the movements, and post it.
An account is missing from the trial balance even though it was posted to. The solution is described in a separate article on an account missing from the trial balance.
General ledger
A systematic record by account with opening balances, turnovers, and balances — a mandatory part of accounting documentation. You can find a description in the article General ledger.
ℹ️ If balances in the bank book don't agree with the general ledger, the cause is usually posting to bank or cash accounts outside the Money module. The solution is described in the article on mismatch between the bank book and general ledger; the cash book works similarly.
Account balances
An overview of balances as of a given date. It is used to check continuity between periods and as a basis for opening balances. Besides the basic description of account balances, two related articles are useful to know: how to work with balances from the previous period and how active and passive accounts by result behave in the output.
Balance
An overview of unmatched receivables and payables on balance-tracked accounts. For a firm, it is one of the most sensitive outputs, because it directly shows what the client owes and what is owed to them. You can find a detailed description in the article Balance.
What to watch out for with the balance:
The balance is compiled by matching symbol. If the grouping doesn't add up, look for the error there — the context is explained in the article on the matching symbol in the balance.
Unmatched or only partially matched payments are the most common cause of a difference between the balance and the status of unpaid documents. A document must have the Matched flag.
Do not use accounts with the Balance flag on internal documents — internal documents cannot be matched to the receivables and payables posting rule. Mutual offsets are used for writing off a receivable.
If you need to read the balance programmatically, there is a variant via the REST API.
Payment status as of a date and overdue documents
Whereas the balance shows the current accounting status, the payment status as of a date offers a retrospective view — what receivables and payables looked like on any given day. This comes in handy when preparing financial statements and when responding to a tax office inquiry. The output doesn't deal with the accounting side — it "doesn't care" how a document is posted.
You monitor overdue documents in the web interface through the overview of overdue receivables and payables, and in the desktop application through a similar output. A special chapter is payables six months past due, for which an obligation to return the VAT deduction arises; there is also a variant with a reduction coefficient.
⚠️ Auxiliary documents for returning VAT from unpaid payables are not created automatically. It's a separate step that is easy to forget in the year-end rush.
Balance sheet
The balance sheet is compiled based on the assignment of accounts to asset and liability lines, which is derived from the account type. In the web interface, it is described in the article Accounting balance sheet, and in the desktop application in Balance sheet.
⚠️ If you don't have the account type filled in for accounts — especially bank accounts in the 221 series — the system will ask during calculation which part of the balance sheet to assign them to. For a client with an extensive chart of accounts, this can mean lengthy manual completion. It pays to set the account type already in the chart of accounts.
Profit and loss statement
The income statement is compiled from expense and revenue accounts. A guide exists for the web interface as well as for the desktop application. Starting with the 2024 accounting period, the statement includes a net turnover figure — for clients near the threshold of an accounting entity category, this is essential information.
Cash flow
The cash flow statement is a mandatory part of financial statements for accounting entities that prepare them in full. Flexi offers it in two forms: as the Cash flow statement accounting output and as a chart on the dashboard with an outlook into future periods based on invoice due dates.
⚠️ Cash flow in chart form is available only in the Premium edition and requires that the user's role allows access to user queries — more details in the article on which rights give access to overviews and cash flow. Firm users have the Premium edition; a Basic or Business client will not see cash flow.
ℹ️ When you compile the output for the first time, Flexi prompts you to specify which lines of the statement the individual accounts should fall under. Once you fill this in, the setting is preserved until the print form changes.
Asset and liability breakdown, expense and revenue breakdown
Supplementary reports to the balance sheet and income statement that break individual lines down into specific accounts. They are used when tracing what a statement line consists of. They are available for the asset and liability breakdown and the expense and revenue breakdown in the web interface, and equivalents exist in the desktop application too — assets and liabilities, expenses and revenues.
Other outputs useful in a firm
Besides the statutory statements, you will also use several operational reports:
Monthly performance statement — a quick monthly view of the client's financial result.
Accounting analysis of an order — for clients who track profitability by order.
Management outputs — analysis of sales and purchases and displaying custom outputs in a chart.
Balance sheet and profit and loss statement in XML format for submission to the tax authority portal; available in all application editions — see income tax source data.
A detailed procedure for recalculating the income statement, including the definition of lines for accounts, is described in the example of generating the profit and loss statement.
What Flexi can't do in outputs
Standard reports cover statutory obligations and routine checks. A report in the format a specific client is used to, however, they usually won't offer.
You have three ways to handle this:
User queries — your own SQL query with which you can get almost any analysis from the system, with export to Excel or XML. It requires SQL knowledge and the Premium edition.
User reports — full-fledged custom print reports for cases where the previous two options are not enough.
Reporting outside Flexi — downloading data via the REST API and working with it in another system, typically a BI tool (e.g., in Data Studio or Power BI).
💡 If you need a report that Flexi doesn't have and you don't want to get into SQL, for example, we will prepare it for you as a custom solution. Accounting firms often solve summary overviews for clients, source data for managing directors, and control reports over data for, say, multiple periods this way. Request a quote at podporaflexi@abra.eu.
VAT and regular statements
The overall procedure from entering a document to submitting the statement is described by the wizard for the VAT return and control statement; for the desktop application, there is a similar wizard.
VAT source data as the first check
VAT source data fulfills a legislative obligation and at the same time serves as a control tool. It reveals discrepancies before the return is prepared — for example, a missing control statement line on a document that enters VAT.
When a document enters the return:
Issued invoices by the date of taxable supply.
Received invoices by the date of claiming the taxable supply; the default value can be prefilled in the company settings on the Modules — Purchasing tab.
A document enters the control statement and return based on the country entered, the VAT return line, and the control statement line.
VAT must actually be quantified on the invoice — an amount at the zero rate will not enter the return.
ℹ️ Which lines are used for a specific type of supply is explained in the article on the impact of supply codes on VAT lines. For clients with the domestic reverse charge, it pays to go through it before the first return.
VAT return
You prepare the return in the Accounting Outputs agenda — VAT return. You select the period, the type of return, and the output format: PDF for checking, or XML for submission to the tax authority portal.
Situation | Which return to file |
Regular filing for the period | Regular return. |
Error discovered by the last day of the following month | Corrective regular return — fully replaces the regular return already submitted. |
Error discovered later | Supplementary return — only differences from the regular return are reported. |
⚠️ A supplementary return can be prepared only if the original regular return was saved. The return is saved when you choose the electronic output. Therefore, save only truly final versions — a saved return cannot be displayed anywhere; it is a database record that serves solely for creating a supplementary return.
✅ Before filing, upload the XML to the tax authority portal for validation and save the PDF of the return for your records. Data from the company settings also enters the file, so check those too before the first filing for a new client.
The coefficient for calculating the proportional part of the deduction is preset to the value 100. If a client applies a reduced deduction, you need to select on the received invoice a VAT line whose name contains the abbreviation KR. Flexi calculates the settlement coefficient when preparing the return for the last period of the year and uses it for the following year as an advance coefficient.
Control statement and response to a summons
You prepare the control statement similarly to the return — you can find a description in the article Control statement. A response to a tax administrator's summons deserves special attention, because it is easy to choose the wrong variant.
What happened | How to respond |
The original statement was correct, you just need to confirm it | Check quick response to summons. An empty statement is generated, which is submitted in the usual way as XML. |
You need to make corrections | Do not use the quick response. Generate the entire subsequent corrective control statement; the summons number can be added only on the portal. |
The procedure is discussed in the article on the subsequent control statement. Where to find the reference number of the summons is described in a separate guide; if you are unable to export the statement, see the most common causes of XML export errors.
Summary statement
It is filed for supplies to other member states. A guide exists for the web interface as well as for the desktop application.
ℹ️ If the PDF shows fewer lines than the statement itself, this is known behavior described in a separate article — it is not necessarily an error in the reported data.
Year-end closing and income tax
The annual routine is the most demanding period for a firm, because the same procedure repeats for each client. You can find a summary for the web interface in the article on year-end closing, and the detailed procedure in the closing guide and in the wizard for closing the period and transferring data.
Creating a new accounting period
You create a new period in the accounting periods code list using the New button. You fill in the abbreviation, validity range, and the year code for document series. The procedure for the web interface is described in the article on closing the period.
Initializing the next accounting period
The closing itself is performed by the function for initializing the next accounting period. It closes the given period and transfers account balances to the next year as opening balances. In the settings, you choose closing accounts and several additional operations:
Revaluation of unpaid documents — revalues foreign-currency invoices and other receivables and payables at the balance sheet date exchange rate and creates an internal document for it.
Revaluation of bank accounts and cash registers — similarly for foreign-currency accounts and cash registers.
Stock transfer — for clients with warehouse management, including options for omitting cards with a zero balance.
✅ Initialization can be repeated, and that is by design. If you correct a document in a closed period after closing, run it again — closing operations will not be duplicated. In the web interface, you also don't need to switch to the previous period; you simply select the period.
ℹ️ You can break down closing accounts into further analytical accounts in the chart of accounts and don't have to stick with the preset ones.
Locking periods
After submitting the return, it is advisable to lock the period so that nobody changes anything in it. Period locking serves this purpose, as does locking individual records.
Lock type | What it means |
Open | Records can be added to the period — use this when a correction is needed. |
Locked | Nothing in the period can be edited or added. |
Locked except accountants | Changes can be made only by users with the Accountant and Payroll Accountant roles. |
⚠️ Only users with the Administrator or Accountant role can lock periods. You cannot set two different locks for the same period, even when choosing different modules. If you need a correction, switch the lock to Open and unlock documents individually.
Corporate income tax
Flexi does not have a separate output for income tax. The balance sheet and the profit and loss statement serve as the basis — more details in the article on corporate income tax.
⚠️ Both the balance sheet and the income statement must be recalculated to thousands before generating the XML, otherwise the output for the tax authority portal will not match. The XML output is available in all application editions.
Slovak clients
If you also serve Slovak accounting entities, keep in mind that not only the rates differ, but also the structure of the statements and some control mechanisms. You choose the legislation when creating a company and it cannot be changed afterwards — see the overview of supported organization types.
What to go through for your first Slovak client:
Balance sheet calculation under Slovak legislation — the report depends on the type of accounting entity (micro, small, large) and the account type. If you don't have the account type filled in for accounts in the 221 series, the system asks during calculation where to assign them.
Financial statements of a micro accounting entity — simplified obligations and scope of the statements.
Posting rules and VAT supply codes for Slovak legislation.
VAT return and control statement in their Slovak form.
If a client keeps single-entry bookkeeping, go through the specifics of Slovak single-entry bookkeeping.
💡 It pays to create Slovak clients from their own template company. Legislative settings cannot be changed afterwards, and mixing them with Czech templates leads to errors.
Archiving, GDPR, and a client leaving
For the personal data you work with in Flexi, the division of roles is clear: the data controller is your firm, or the client, and ABRA Flexi is the processor — we merely store the data. The decision about what happens to the data therefore lies with you.
Processing purposes
Flexi has its own register of personal data processing purposes with predefined purposes and the option to create your own. For each purpose, you record the legal basis, relationship type, responsible person, nature of the data, occurrence in agendas, and validity. Creating and cancelling purposes is described in a separate guide, and a general overview is in the introduction to GDPR in Flexi.
ℹ️ GDPR protection does not apply to legal entities. For natural persons — including sole traders with a company ID — it does apply: if you have issued an invoice, you must process the data according to a defined purpose. Without a purpose, you need to ensure its removal or anonymization. More details in the article on retaining a former customer's data.
When a client leaves
A client leaving has both a technical and a legal side. Recommended order of steps:
Finish processing the last period and submit all statements for the client.
Generate and hand over to the client a backup of their company. They then take their data away in a usable form and can restore it in their own license.
Save your own copy of the backup for the period during which you must retain the documentation.
Archive the company, don't delete it. The data remains preserved, the company disappears from the selection, and it is not subject to the active company fee.
In Company Management and in the User Overview, remove the access of the client's users.
Go through the personal data processing purposes and decide which ones continue.
🚨 Deleting a company is irreversible. Automatic cloud backups are created daily and we keep them for three months back — after that time, the data can no longer be restored. Always archive a departing client, and consider deletion only after the statutory periods for retaining accounting documentation have expired.
💡 If, conversely, a client comes to you mid-year from another accountant, follow the section on taking over the books in the first part. The key is to close a full month in the original system and not migrate in the middle of a period.
Frequently asked questions
How many companies can we have in our license?
The number of companies is not limited. You pay for companies that are active — specifically CZK 95 per active company. Archive companies you don't work with; the fee does not apply to archived ones, and their data remains preserved.
Can one client have multiple companies?
Yes. The usual relationship is one client = one company, but several branches or subsidiaries can be placed under one client. They all then share the same license edition.
Will our accountant also see another client's companies?
No, provided you assign her only to the clients she is to process. Each client's companies and users are in an isolated environment, and a user cannot reach another client's data even by accident. Access to all companies across clients is available only with the Accounting firm access type.
Can we give a client read-only access?
Yes, and it's free. Users with read access do not consume a paid access and you can have an unlimited number of them. It fits exactly the situation where a managing director wants to see the numbers but doesn't need to write to the books.
Can we set up the methodology once and use it for all clients?
Not directly in bulk across companies, but there are two practical routes: build a template company and restore new clients from it, or export the chart of accounts and posting rules to Excel and import them for further clients.
Can we change a client's organization type or legislation afterwards?
No. Both are chosen when the company is created and cannot be changed afterwards, not even by a custom modification. If you discover a mistake, you need to create a new company and transfer the data into it. That is why you should verify both values carefully before creating the company.
We're taking over a client mid-year. Is that a problem?
It isn't, it's just more laborious than a transition at the start of a new period — mainly for unpaid receivables, payables, and advances. It's important to close a full month in the original system and not migrate in the middle of a month, especially because of VAT.
Which accounting outputs are available only in the desktop application?
Accounting outputs are available in both interfaces and work on the same data. Only payroll and HR are truly desktop-only; the Employees and Assets modules are displayed in the web interface but cannot be edited. If a firm processes payroll, the payroll accountant will always need the desktop application.
Why doesn't our trial balance match account movements?
Almost always because of unposted documents. Compare both reports, find the document that is in the trial balance but missing from the movements, and post it. Unposted documents also do not enter the balance sheet, account balances, or profit and loss statement.
The balance doesn't agree with the list of unpaid invoices. Where is the error?
Most often in partially matched payments — a document must have the Matched flag. The second usual cause is the matching symbol by which the balance is grouped. If the balance-tracked account balances to zero, the accounting is fine and only the grouping is broken.
Will the client see cash flow on their own?
Only if they have the Premium edition and a role that allows access to user queries. Firm users work in the Premium edition, so they have cash flow available; a client on Basic or Business does not.
We saved a VAT return by mistake. Can we undo it?
A saved return serves only as a basis for a possible supplementary return and cannot be displayed anywhere. We therefore recommend saving only the final version for a given period and archiving the PDF outside the system. To correct a submitted return, choose a corrective regular return or a supplementary return depending on the deadline.
Do we have to run the period initialization again when we correct an old document?
Yes, and it's safe. Initialization can be repeated at any time and closing operations will not be duplicated. Without repeating it, the correction would not carry over into the opening balances of the following period.
We need a report that Flexi doesn't have. What should we do?
You have three options: a user query over SQL in the Premium edition, a configurable print report editable directly in the web interface, or a custom print report. We'll gladly prepare a report for you as a custom solution — request a quote.
💡 A firm's operation can be set up so that most of the monthly routine runs on its own — bank connection, posting rules, imports, and custom reports. We'll gladly go through it with you and recommend what pays off in your case. We handle sales inquiries and quotes at obchodflexi@abra.eu or by phone at 371 124 340, and technical questions about ongoing operation at podporaflexi@abra.eu and by phone at 371 124 321.














