Skip to main content

How do I set up ABRA Flexi for managing client bookkeeping?

Guide for Accounting Firms: Plan and Client Sublicenses, Setting Up and Managing Companies, Users and Access Rights, Unified Accounting Methodology, and Taking Over Accounting from Another Accountant

Written by Petr Pech

Do you handle accounting for dozens or hundreds of clients and are considering switching to ABRA Flexi? This guide is written from the perspective of an accounting firm owner, head accountant, or managing director. It doesn't cover how to book a single invoice, but rather everything you need to decide and configure before rolling the system out to your first clients and your whole team.

An accounting firm deals with things in Flexi that a single-company customer never encounters: a licensing model built around clients, data separation between clients, unified accounting methodology across companies, taking over accounting from a predecessor, and offboarding a client. These are exactly the topics covered in this first part.

💡 Interested in the pricing policy for the accounting firm tariff? Check out our website and for an official quote, contact our sales department.


What ABRA Flexi offers accounting firms

Before you start configuring anything, it's worth aligning expectations. ABRA Flexi is a full-fledged business system for individual accounting entities, with a management layer on top for handling multiple companies.

What you can rely on in Flexi:

  • The number of companies in a license is not limited — you can set up a new company at any time, regardless of the app edition.

  • You manage clients as separate sublicenses with their own Flexi edition and data isolated from other clients.

  • A firm user can have access to all companies across clients, while a client user only sees their own companies.

  • All company, client, user, and license management 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 — either in the desktop app (using the so-called company selection in a new window), or in the web app (by opening a company in a new tab).

  • The accounting firm tariff includes API access at no extra cost 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. A bulk document change or bulk posting can't be run "across all clients" at once. If you need such operations, we can build a custom solution for you — contact us at podporaflexi@abra.eu with your request. We already offer, for example, an add-on for bulk file imports across multiple companies.

  • There is no consolidated document overview across all client companies. A summary across the license is only available for companies, users, and license usage, not for accounting data. As with the point above, 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 Employees and Assets modules are displayed by the web app but cannot be edited there. We're working on making these modules available in the web app as well.

  • Flexi has no dedicated output for corporate income tax; the underlying documents are the balance sheet and profit and loss statement. More details in part two.

💡 We recommend using the same methodology across all clients — the same document types, the same sub-accounts, the same posting templates. This way, an accountant switching to a different client won't need to reorient themselves. How to achieve this is described in the section on the chart of accounts and posting templates.


Before you start: eight questions that will determine your setup

The answers to the following questions will determine what your license looks like and how much work lies ahead. We recommend going through them before setting up 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 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 own data, or will you just send them outputs?

This determines which sublicense edition you choose for them, or whether to use the no-access option.

Should each accountant only see their own clients?

Access is governed by how users are assigned to clients. A client's user cannot access companies outside that client.

Do you need to restrict visibility even within a single company?

Restricting by document type, document series, or record author is a Premium-edition feature, not a standard role feature.

Will you be setting up clients with similar settings?

It's worth building a "template" company and restoring new clients from it, rather than copying the settings manually.

Do you use a unified methodology for your clients, or does each one have its own?

A unified chart of accounts and posting templates can be transferred via Excel import; individual settings per client cannot.

Are you taking over accounting mid-year, or at the start of a new period?

A mid-period transition is more work, especially for unpaid receivables, payables, and advances.

Do you also serve Slovak accounting entities?

The legislation country and organization type are chosen when setting up the company and cannot be changed later.

🚨 The legislation country and organization type are set in the first step of the company setup wizard and cannot be changed afterward — not even via custom modification. You'll find an overview of the available combinations for the Czech Republic and Slovakia among the supported organization types. Verify both values before setting up a company for your client.


Tariff for accounting firms

Accounting firms have their own pricing model, based on how a firm actually works with the system: managing dozens of companies that the entire team can access, while some clients want to view or work in their own data. You'll find the complete price list and license terms on the tariff page and in the license terms; a detailed screen-by-screen description is available in the guide to the accounting firm tariff.

The following diagram shows how the individual license levels relate to each other. Below the firm's license are clients as separate sublicenses, below each client one or more companies, and specific users are assigned to those companies. This structure determines who gets access to which data and what you're paying for.

How it differs from a standard license

A standard license is one company or a group of companies belonging to a single customer, with a single number of access seats. The accounting firm tariff adds a second layer on top of the license — clients:

  • Under the firm's license, you set up clients, which are separate sublicenses.

  • Under each client, you assign one or more companies.

  • An accounting firm user automatically has access to assigned companies across all clients in the highest, Premium edition.

  • A client's user has whichever edition you choose for that client, and sees only their client's companies.

  • You can keep the firm's own accounting entity, test companies, and the "template" companies mentioned above directly under the firm's license, without assigning them to a client.

The accounting firm license automatically includes API access at no extra cost. So both you and your clients can start using the API right away.

The tariff 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 track both usage and the agreed limit in the License and Subscription section, on the API Usage tab.

Client as a sublicense

A client represents a sublicense subordinate to your firm's license. You always set one up, whether or not the client needs their own access to Flexi — in the latter case, choose the no access option. Each client has a name, a company ID, and a contact email; these three pieces of information are required in order to create a sublicense.

Key things to know about clients:

  • All users within a single client license have the same Flexi edition — Basic, Business, or Premium. You cannot have one client's user on Basic and another on Premium.

  • Each client's companies and users operate in a separate, isolated environment. A user cannot access another client's data.

  • If a user is assigned to a client, they cannot also be assigned to a company outside that client.

  • Only the Accounting Firm access type gives access to all companies across all clients.

  • The usual relationship is one client = one company, but a single client can also have multiple companies, typically branches or subsidiaries.

🚨 If you move a user under a client while they still have access to a company outside that client, they will lose that access. Before moving them, always decide which companies should belong under that client, and only then move the user.

⚠️ Firm access and end-client access must not be mixed. The firm should not provide its own license's access to clients, and likewise should not itself work under access designated for clients. This separation ensures correct licensing and transparent billing.

Active and archived companies

The fee applies to active companies — specifically CZK 95 per active company. Archive companies that you don't need in operation. Archiving means "putting to sleep": the company disappears from the company selection, but its data is preserved and it can be reactivated at any time.

What typically belongs in the archive:

  • companies of clients who have already left but whose data you must legally retain,

  • test companies used to try out procedures,

  • template companies used to set up new clients,

  • seasonal or temporarily inactive accounting entities.

Only the web interface can archive and delete companies in bulk, in Settings (gear icon at the bottom left), on the Company Management tab. The desktop application can archive or remove companies only one at a time, directly from the company selection screen after logging in.

💡 Make reviewing your company list a regular task, ideally once a quarter. Unused companies left in the active list are a direct cost and also make it harder to navigate between clients.

If you're switching from an older licensing model

Firms that used Flexi before the tariff was introduced went through a one-time transition: in the Company Management section, they downloaded an Excel template listing their companies, added the client, company ID, license edition, and contact email for each company, and uploaded the file back. Users were moved automatically. The process and solutions to the most common issues are described in the guide to switching to the new tariff; a video guide is also available.

📝 The deadline for completing the bulk transition was February 13, 2026, and billing under the new rules has been in effect since March 2026. If you're setting up a firm today, you don't need to deal with the transition — both guides are provided only to explain how companies are assigned to clients and how incorrect assignments are corrected.


Setting up and managing client companies

Company Management is your main hub within the tariff. You'll find it in the web interface under Settings, via the gear icon at the bottom left. The More functions button next to each company offers a company backup, moving between licenses and sublicenses, deletion, archiving, or reactivation.

Setting up a client company

Set up a new company using the Create new company button. On the Clients tab, you also choose whether you're creating the company for the firm or for a specific client. The step-by-step process, including each setting tab, is described in the guide on setting up a new company.

Information you fill in right at the start:

  • The client's company ID and tax ID,

  • Legislation country and organization type — an irreversible choice, see the warning above,

  • information on the Legislation tab: predominant NACE activity, VAT payer flag, regional tax office and local branch, currency,

  • logo and stamp for the client's printed reports.

⚠️ It's easy to overlook the VAT payer flag on the Legislation tab. Without it, VAT outputs won't be generated correctly for the client, and you may only discover the error at the first VAT return.

A "template" company instead of copying settings

If you're setting up clients with similar configurations, it makes no sense to fill everything in again each time. Build one company as a template and restore new clients from it. The process is described in the guide to using a template for setting up new companies.

  1. Set up a new, empty company without test data, and name it so it's clear it's a template.

  2. Configure everything that should be shared across clients: company details, document series, document types, posting templates, and the chart of accounts.

  3. Create a backup of the template company.

  4. For each new client, restore the backup under their actual name and mark the company as production.

  5. Fill in whatever differs for that client — company ID, tax ID, legislative details, logo.

💡 It's worth keeping several templates by client type: one for VAT payers using double-entry bookkeeping, one for single-entry bookkeeping, one for Slovak entities. Settings that differ by legislation can't be changed later.

📋 You can archive the template company once the backup has been created. Otherwise you'll be paying for it as an active company even though nothing is posted in it.

Backups and restoring a company

You can generate a backup of any company you have access to directly from the company selection screen — by clicking the name of the currently open company, or via the user profile and the My companies option. In the row for the company, select More functions and Back up data; a file with the extension .winstrom-backup will be downloaded. Restoring works the same way, using the Restore data button in the same selection screen. Details are described in the guide to backing up a company and to restoring a company from a backup.

If you run Flexi in the cloud, we create backups automatically every night at midnight and keep them for three months. You can download them yourself; older backups marked as archived take a moment to prepare before downloading.

⚠️ Automatic cloud backups do not handle data archiving for a departing client. That has its own rules — described in part two, in the section on offboarding a client.

Switching between companies

You switch between clients in the web interface by clicking the name of the currently open company, which brings up the company selection screen. The list can be filtered by typing — the filter is not case-sensitive, ignores diacritics, and the search term can appear anywhere within the name. With dozens of clients, this is the fastest way to navigate.

💡 You can view an overview of clients, their companies, and assigned users at any time in Company Management and in the License and Subscription section. It's the only place where you can see the license as a whole.


Users, roles, and access rights

Access configuration is the most sensitive topic in an accounting firm. You need all of the following to hold true simultaneously: each accountant can reach their own clients, cannot reach others' clients, and a client can only see themselves. Flexi handles this through three independent layers: access type, user role, and data visibility rights.

Access types and who consumes a license seat

You manage users in the web interface in the User Overview section, where you can see all users across the entire license, the number of used and free access seats, and move users between clients and the firm's license. A detailed description of both interfaces can be found in the guide on working with users.

Access type

What the user can do

Impact on the license

Write access

Full functionality in both the desktop and web app, according to the assigned role.

Consumes one paid access seat.

Read-only access

Viewing data only, without the ability to write. Works in both interfaces.

Free, unlimited number.

API access

Authenticates background data transfers. Cannot log in to the app or the web interface.

Consumes a so-called API user, which is part of API access — included in the accounting firm tariff.

💡 If a client only wants to view their own figures — typically a managing director checking on receivables — set them up with read-only access. It doesn't consume any paid seat, and you can have as many such users as you like.

You can see how many access seats you have active and how many are assigned in the License and Subscription section, where you can also add seats yourself. Additional overviews are provided in the article on users consuming license seats 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. So when an employee leaves, switch them to read-only access, assign them the role BLOCKED: Inactive user, and also directly block the user (via the More functions menu next to the user, using the Block option).

User roles

A role determines which modules and records a user can see and what they can do within them. Several roles are predefined — warehouse worker, accountant, payroll accountant, administrator — and these are fixed and cannot be deleted. You create a custom role by copying and modifying the closest 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 no visibility at all. Access can be fine-tuned down to individual functions — for example, allowing the creation of invoices while forbidding their editing and deletion, or hiding purchase prices.

✅ Set up roles right at implementation, not after something goes wrong. Correctly configured permissions significantly reduce the risk of accidental changes to a client's data.

⚠️ Configuring roles is currently only available in the desktop application. In the web application you can currently only add existing roles.

Data visibility rights

Roles handle access horizontally, by module. Data visibility rights handle access vertically, within the records a user can see. The difference between these two layers is explained in a separate article on roles vs. advanced rights.

What can be restricted using visibility rights:

  • specific document types — for example, a user may create a regular invoice, but not a credit note or advance tax document,

  • specific document series,

  • specific posting templates,

  • documents created by other users — a junior can see, but not modify, documents created by a senior colleague, and won't see documents from other users at all.

⚠️ Data visibility rights are only available in the Premium edition and must be configured individually for each user — they cannot be pre-set in bulk. They can be removed in bulk afterward, but not applied in bulk. As with user roles, their configuration is currently only available in the desktop application.

How to ensure an accountant only sees their own clients

Roles and visibility rights alone aren't enough — it's the client structure and user assignment that determine this. Follow these steps:

  1. Decide which companies belong to which client, and move them accordingly in Company Management.

  2. In the User Overview, assign the accountant only to the clients whose companies they'll be handling. Users are not moved automatically when a company is moved.

  3. Confirm that the accountant has no access to a company outside those clients — otherwise they would lose that access when moved.

  4. Within the company, assign them the role matching their position.

  5. If you need to further restrict what they see within the company, add data visibility rights.

ℹ️ A user with the server-level right Access all companies sees every company in the license. Reserve this for firm administrators only, not for regular accountants. Rules for creating and configuring user permissions within a company are described in the article on users within a company.

Users can also be managed programmatically — if you need to create access from your own system, see managing users via API.

Two-factor authentication

For an accounting firm holding data for dozens of entities, two-factor authentication is more of a requirement than an option. Flexi supports it based on one-time codes and works in the cloud, on your own server, and in a local installation.

  • In the web interface, activate it via SettingsUser ProfileSet up authentication; in the desktop app, via the Tools menu.

  • You'll 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 your device and the server differs by more than 30 seconds, activation will fail.

🚨 Keep in mind that ABRA Flexi does not, by default, keep a clear login history for users or a history of changes to user accounts. It only retains a history of all operations performed by individual users, always per accounting entity.


Chart of accounts and posting templates

A unified methodology across clients is what separates a well-configured firm from a collection of randomly configured companies. The goal is for an accountant, when switching to any given client, to find the same sub-accounts, the same document types, and the same posting templates.

Chart of accounts

Even a newly created, empty company already has the most commonly used sub-accounts set up in the chart of accounts, which are also used in the preconfigured document types and posting templates. You don't have to use them — you can create your own sub-accounts at any time. Checking and completing the chart is described in a separate guide.

⚠️ The standard chart of accounts is mandatory. You can only add general ledger accounts of the Off-balance sheet or Intercompany type. See the overview in the standard chart of accounts.

You can also populate the chart via Excel import, saving time compared to manual entry.

ℹ️ For organizations of the type Sole traders — single-entry bookkeeping, accounts aren't used; those are exclusive to double-entry bookkeeping.

Posting templates and document types

A posting template determines which accounts a document is posted to. A document type uses a posting template and adds further presets on top of it. This pair is what carries your methodology. The process is described in the guide to posting templates and their use in document types, complemented by document posting presets.

  • You can populate posting templates in bulk via Excel import.

  • Set up matching document series for each document type, so clients get clear numbering.

  • A description of document types themselves, including their relationship to posting templates, can be found in a dedicated guide.

💡 A proven approach: fine-tune your methodology on one client, export the chart of accounts and posting templates to Excel, then import them for other clients. If your methodology is ready before you start setting up clients, build it directly into a template company and skip importing altogether.

⚠️ Excel imports are available starting from the Business edition. The firm has them automatically, since its users work in the Premium edition, but a client on the Basic edition cannot import data themselves.

Rule-based posting of bank transactions

For clients with a large number of recurring bank transactions — account maintenance fees, interest, regular payments — rule-based posting is worth setting up. A rule contains conditions on values within a bank transaction and a set of fields to be filled in automatically when they're met.

  • You can either define rules manually, or have the system suggest recommended rules based on transactions already posted for the client.

  • The function then presents all unposted and unmatched transactions with a proposed posting; you simply confirm or reject each one.

  • You'll find it under More functions at the bottom of the Bank record's form.

⚠️ This function is only available in the Premium edition. Firm users have access to it, but a client on a lower edition does not.


Taking over accounting from another accountant or from a different system

Taking over a client is one of the potentially risky moments an accounting firm may face. Flexi has an in-depth series called Accounting Transition to ABRA Flexi, which walks through sixteen steps from setting up the company all the way to HR. The summary below highlights what matters most for a firm.

When to make the switch

Switching at the start of a new accounting period is simpler. Switching mid-period is manageable but more work — especially for unpaid receivables, payables, and advances. This is covered in more detail in the article on migrating data from another system.

🚨 Never migrate in the middle of a month, particularly because of VAT. Close at least the full month in the original system before transferring data.

What to resolve as of the transition date

The following steps form the core of the takeover. Each one has its own chapter in the series mentioned above, and many also have a web-interface variant.

  1. Set up the company and fill in the company settings.

  2. Create the previous accounting period to preserve continuity.

  3. Check and complete the chart of accounts, and for single-entry bookkeeping, the posting templates.

  4. Populate the company directory and their bank details.

  5. Create the document types and document series for recording unpaid receivables and payables.

  6. Record unpaid receivables and payables, without advances and advance tax documents attached to a payment.

  7. Create cash registers and bank accounts, and fill in their balances.

  8. Set up the price list, and if applicable, warehouses and stock levels.

  9. Record the opening account balances — a combined procedure for the web interface can be found in the guide to setting up opening balances.

  10. Check balances and summary values entered as of the transition date.

  11. Set up fixed assets and prepare HR records for payroll calculation.

ℹ️ You don't have to complete everything at once. Filling in balances for accounts that don't track open items can be done even after the final year-end closing, and fixed assets can be set up during the new period as well.

The three most common mistakes during a takeover:

  • Using accounts with the Open items flag on internal documents. Internal documents cannot be matched against receivables and payables templates; create documents as "real" receivables or payables, and for writing off a receivable, use mutual offsets instead.

  • Using cash register and bank accounts outside the Money module. This causes totals and the cash/bank books to not match. Load opening bank and cash balances using a receipt document in the corresponding record.

  • Payments that stay only partially matched. A document must have the Matched flag, otherwise the open-item balance won't align with the status of unpaid documents.

✅ Regularly check the posting status in the accounting journal. Unposted documents don't feed into summary outputs — the trial balance, account balances, balance sheet, or profit and loss statement — which then show distorted figures.

Migrating data from Pohoda

Manually transferring accounting data for a larger client makes little sense. Flexi supports imports via Excel and XML, and has a dedicated migration tool for Pohoda. An overview of all approaches, including partner solutions, can be found in the article on migration options from Pohoda.

What the migration from Pohoda will transfer:

  • the address book, including contact persons and bank details,

  • issued and received invoices, optionally with payments,

  • warehouses and stock, including the price list, sets, and bill of materials,

  • the cash register.

What the migration will not transfer:

  • accounting outputs — the journal, general ledger, reports,

  • internal documents, bank statements, orders, and stock movements,

  • fixed assets and HR records,

  • previous accounting periods — these are entered as opening balances.

⚠️ If you transfer invoices together with their payments, an auxiliary cash register with the code POKLADNA-MIGRACE will be created, since the payment method cannot be determined from the Pohoda export. The migration also creates special document types (for example FAKTURA MIGRACE) used solely for migration purposes — for ongoing work, set up your own document types.

Other systems are handled via Excel import. The web interface is more advanced than the desktop app when it comes to imports: it helps map columns, lets you add fields that aren't in the file, and remembers the mapping for the next import. Advanced options are described in the article on smart imports.

ℹ️ In practice, migration typically takes up to two hours per record type, depending on the complexity of the mapping. Consider what you can handle yourself and where our service department could help. If you're interested in having us carry out the migration, contact us at podporaflexi@abra.eu.


💡 Setting up an accounting firm is, to a large extent, a matter of deciding on processes, not just configuring a system. If you're not sure how to structure your clients and access rights, reach out to us — we'll go through how you actually work and recommend a setup. Sales inquiries and licensing are handled at obchodflexi@abra.eu, technical questions about day-to-day operation at podporaflexi@abra.eu.


How to get documents from a client into Flexi without retyping them

Retyping paper documents is the biggest time sink in an accounting firm. Flexi offers several ways to avoid it; the best one depends on the form in which you receive documents from your client.

Format the documents arrive in

Best approach

What you need for it

Electronic invoice in ISDOC format

Nothing extra — works in every edition.

PDF with readable text

The web interface, and the form variant with attachment preview.

A scanned or photographed document

A partner solution for document extraction

An add-on beyond the base license.

A list of documents in Excel

Business edition or higher.

Data from the client's e-shop or other 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 a Czech e-invoicing standard, and Flexi supports it in both directions. You can import a received invoice in the desktop app via ToolsImportImport ISDOC e-invoice, or directly from the received invoices list. In the web interface, ISDOC is among the supported formats for importing received invoices.

  • The system automatically checks whether the invoice's company ID matches the billed company — with an incorrect recipient, you'll be warned before the import even loads.

  • Before finishing the import, you choose the document type and the type of accounting operation, so the document enters your methodology right away.

  • If the supplier isn't in the address book, you'll be offered the option to create a new company.

  • If the invoice contains price-list items, the import follows special rules; for clients with inventory, receiving goods into stock can be handled at the same time.

  • Conversely, a client's issued invoices can be exported to ISDOC, including an electronic signature, if you have a valid certificate installed.

  • If you need to automate the import, there's also a way to do this via the REST API.

📋 Agreeing with a client on ISDOC is the cheapest optimization you can make in your firm. Documents are loaded including line items and without any retyping, eliminating both the extra work and the risk of typos in amounts.

💡 If you also need to import issued invoices from ISDOC format, we have an add-on for that. It's typically used when transferring invoices between multiple systems. You'll find all the details on how to activate it at the link.

Reading a received invoice from PDF

If documents arrive as PDF files, the web interface can extract them via clicking. In the detail of a new received invoice, switch on the With attachment preview form variant, drag the PDF into the field, and by clicking through the document, transfer individual values into the form fields one at a time. A processed field is marked with a green checkmark.

  • Loading the base amount at the standard rate automatically fills in the VAT and total amount as well.

  • A value can be adjusted before saving — for example, splitting a company ID and tax ID if they appear as a single string in the PDF.

  • The PDF remains stored as an attachment to the document, so you always have the original on hand for later review or audit.

⚠️ This extraction only works for received invoices and only from PDFs containing readable text data. A scanned or photographed document, where the content is embedded as an image, cannot be reliably read this way — a partner document-extraction solution is required for that. An order also cannot be read this way, since on an invoice it's simply a reference to the order records.

🚨 ABRA Flexi does not check whether you transferred a value from the PDF into the correct field. After loading, always verify at least the taxable supply date, VAT rates, and amounts — the accountant is responsible for the correctness of the posting and tax data.

Excel imports and smart imports

If you receive a document list from your client as a spreadsheet, the fastest way to handle it is via Excel import. The web interface is more advanced than the desktop app for imports: it helps map columns, lets you fill in fields that aren't even in the file — such as document type — and remembers the mapping for future imports.

How to prepare the right file:

  1. In the record you want to import into, select a few existing entries.

  2. Via the three-dot More functions menu, choose Export to Excel and the option for importing back into Flexi.

  3. The resulting file serves as a template with the correct structure and value formats.

  4. If you don't have any data yet, download the sample file offered directly in the import dialog — a basic one for document headers, or an extended one with line items.

Additional options — sources of allowed values, mandatory fields, and the checks Flexi performs before completing an import — are described in the article on smart imports. An overview of individual records and their specifics can be found in the introduction to Excel imports.

⚠️ Excel imports are available starting from the Business edition. Firm users always have them, a client on the Basic edition does not.

Bank statements and matching payments

A bank statement can be loaded manually from a file — the procedure for the web interface is described in the guide on loading a statement and creating a payment order, followed by the article on matching transactions to documents. Manual downloading, however, is exactly the kind of work that's worth automating in a firm.

The automatic matching function matches transactions to documents based on the variable symbol and amount. If matching isn't working reliably for a particular client, check these two values first — they're the most common cause of issues.

💡 For clients with a large number of recurring transactions, combine matching with rule-based posting. The system will suggest rules based on already-posted transactions, and you simply confirm them. This function requires the Premium edition.

Automatic online bank connection

The most effective option is an automatic bank account connection. After a one-time setup, transactions are downloaded every hour throughout the day directly into the Bank record, and automatic matching of both incoming and outgoing payments can also be enabled.

⚠️ If a client has multiple accounts at the same bank, for example in different currencies, each account must be a separate record in Flexi with its own connection. Additionally, for FIO banka, one token always corresponds to exactly one account.

ℹ️ After activation, you may receive notification emails from the @dativery.com domain, including error notices. Pay attention to them — for a firm handling hundreds of payments a day, a broken connection is easy to miss.

Approving received invoices

If you handle payment processing 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 get paid. The process is described in the guide to received invoices.

ℹ️ This function is not available by default. To use it, you need to enable Require signature before issuing a payment order in the company settings (Purchase module).

API and connecting a client's systems

If a client has an e-shop, a POS system, or their own application, documents don't need to go through you at all — they can be written into Flexi automatically. The basics are described in the guide, how to use the API. An API-type user doesn't log into the application, it's used only to authenticate background data transfers, and it consumes a separate paid API access seat.

If your client has an e-shop and you want to set it up, we recommend reviewing this guide. The technical side of the connection itself is covered in another guide.

ℹ️ The accounting firm tariff includes 50,000 API requests per day at no extra cost. You can see your current usage and agreed limit in the License and Subscription section, on the API Usage tab. If you're exceeding the limit, it can be increased up to 200,000 requests per day.


Monthly routine for each client

The following checklist isn't a mandatory procedure, but a proven order of steps. Go through it for each client, and you'll catch most discrepancies before they end up in a report.

  1. Load or check bank statements and match payments.

  2. Process received and issued documents for the period — via import, from PDF, or manually.

  3. Post any unposted documents. Check the accounting journal — unposted documents don't feed into summary outputs.

  4. Verify the VAT documentation and fill in any missing lines of the VAT return and control statement.

  5. Prepare and submit the VAT return, control statement, and, if applicable, the recapitulative statement.

  6. Check the open-item balance and the status of unpaid receivables and payables.

  7. Lock the period once the reports have been submitted.

  8. Deliver the agreed-upon outputs to the client.

Accounting checks can help catch discrepancies across records, supplemented by discrepancy checks on balances and the overview of document posting checks.

⚠️ Bulk operations always work only within a single company. Bulk changes and postings cannot be run "across all clients" at once, and bulk changes that have already been made cannot be undone in bulk either.


Accounting outputs in detail

For an accounting firm, outputs aren't a bonus feature — they're the main working tool, both for checking data and presenting it. The starting point is the accounting outputs hub and the general description of the module in the article Accounting Outputs. The overview below explains, for each output, what it's for, where the data comes from, and where mistakes most commonly occur.

Where to find outputs and what's only in the desktop app

Accounting outputs are available in both the web interface and the desktop app, and work with the same underlying data.

⚠️ Payroll and HR are not available in the web interface — these are currently processed exclusively in the desktop application. The Employees and Assets modules are displayed by the web app but cannot be edited there. If your firm processes payroll, expect that your payroll accountant will still need the desktop app for now.

Accounting journal

A chronological record of every posted document. It's the first output to check when something doesn't add up — the accounting journal shows what was actually posted and what remains unposted. The web interface also offers a simplified variant, and each row links directly to its source document.

🚨 Unposted documents don't feed into the trial balance, account balances, balance sheet, or profit and loss statement. All summary outputs will then show distorted figures. Checking postings belongs in the monthly routine for every client.

Account transactions

A detailed breakdown of turnover by individual account for a selected period — essentially the journal sorted by account. It's used to trace exactly what makes up an account's turnover. Guides for both the web interface and the desktop application describe the same output.

Trial balance

A summary of opening balances, turnover, and closing balances for all accounts. It's the fastest way to check whether a client's accounting "adds up." Described for both the web interface and the desktop app.

The two discrepancies accountants ask about most often:

  • The trial balance doesn't match account transactions. This is usually caused by unposted documents. Compare both reports, find the document present in the trial balance but missing from account transactions, and post it.

  • An account is missing from the trial balance even though it was used. The solution is described in a separate article on a missing account in the trial balance.

General ledger

A systematic record by account showing opening balances, turnover, and closing balances — a mandatory part of accounting documentation. See the article General Ledger for details.

ℹ️ If balances in the bank book don't match the general ledger, the cause is usually postings to bank or cash accounts made outside the Money module. The solution is described in the article on mismatches between the bank book and general ledger; the same applies to the cash book.

Account balances

An overview of balances as of a given date. Used to check continuity between periods and as a basis for opening balances. Besides the basic description of account balances, it's worth knowing two related articles: how balances from the previous period are handled, and how accounts active or passive based on the result appear in this output.

Open-item balance

An overview of unmatched receivables and payables on open-item accounts. For a firm, this is one of the most sensitive outputs, as it directly shows what the client owes and is owed. A detailed description can be found in the article Open-Item Balance.

What to watch out for with the open-item balance:

  • The open-item balance is compiled based on the matching symbol. If grouping doesn't look right, that's where to look — the article on the matching symbol in the open-item balance explains the details.

  • Unmatched or only partially matched payments are the most common cause of discrepancy between the open-item balance and the status of unpaid documents. A document must have the Matched flag.

  • Don't use accounts with the Open Items flag on internal documents — internal documents can't be matched against a receivables/payables template. For writing off a receivable, use mutual offsets.

  • If you need to read the open-item balance programmatically, there's a variant via REST API.

Payment status as of a date, and overdue documents

While the open-item balance shows the current accounting state, payment status as of a date offers a retrospective view — how receivables and payables looked on any given day. This is useful when preparing a closing and when responding to a tax authority inquiry. This output doesn't deal with the accounting side of things — it doesn't "care" how a document was posted.

You can track overdue documents in the web interface via the overview of overdue receivables and payables, and in the desktop app via a similar output. A special case is payables six months past due, which trigger an obligation to reverse the VAT deduction; there's also a variant with a reduction coefficient.

⚠️ Supporting documents for reversing VAT on unpaid payables don't get created automatically. It's a separate step that's easy to forget in the rush of a closing period.

Balance sheet

The balance sheet is compiled based on how accounts are assigned to asset and liability lines, which in turn depends on the account type. In the web interface, it's described in the article Balance Sheet; in the desktop app, in Balance Sheet.

⚠️ If accounts — particularly bank accounts in the 221 series — don't have the account type filled in, the system will ask which part of the balance sheet to assign them to during calculation. For a client with an extensive chart of accounts, this can mean lengthy manual work. It's worth setting the account type directly in the chart of accounts.

Profit and loss statement

The P&L is compiled from expense and revenue accounts. A guide exists for both the web interface and the desktop app. Starting with the 2024 accounting period, the report added a net turnover figure — an important piece of information for clients close to the threshold between accounting entity categories.

Cash flow

The cash flow statement is a mandatory part of the closing for accounting entities that prepare it in full scope. Flexi offers it in two forms: as the Cash Flow Statement accounting output, and as a dashboard chart with a forward-looking view based on invoice due dates.

⚠️ Cash flow as a chart is available only in the Premium edition and requires the user's role to have access to user queries enabled — for more details, see the article on which rights enable dashboards and cash flow. Firm users have the Premium edition, so a Basic or Business client won't be able to see the cash flow chart.

ℹ️ The first time you generate this output, Flexi will ask you to specify which report lines each account should fall under. Once you fill this in, the setting is retained until you change the print form.

List of assets and liabilities, list of expenses and revenues

Supplementary reports for the balance sheet and P&L that break down each line into the underlying accounts. Used when tracing what makes up a particular report line. Available for the list of assets and liabilities and the list of expenses and revenues in the web interface; equivalents exist in the desktop app too — assets and liabilities, expenses and revenues.

Other useful outputs for a firm

Beyond statutory reports, several operational reports come in handy:

What Flexi's outputs can't do

Standard reports cover statutory obligations and routine checks. However, they usually don't offer a report in the exact format a particular client is used to.

You have three ways to handle that:

  1. User queries — a custom SQL query that lets you pull almost any analysis out of the system, with export to Excel or XML. Requires SQL knowledge and the Premium edition.

  2. User reports — full custom print reports for cases when the previous two approaches aren't enough.

  3. Reporting outside Flexi — download data via the REST API and work with it in another system, typically BI tools (for example, in Looker Studio or Power BI).

💡 If you need a report Flexi doesn't have, and don't want to get into SQL, we'll prepare it for you. Accounting firms often use this to get summary overviews for clients, materials for managing directors, and control reports across multiple periods. Just email us at podporaflexi@abra.eu for a quote.


VAT and periodic reports

A complete walkthrough from entering a document to submitting a report is described in the guide to the VAT return and control statement; a similar guide exists for the desktop application.

VAT documentation as the first check

VAT documentation both fulfills a legal obligation and serves as a control tool. It catches discrepancies before the return is compiled — for example, a missing control statement line for a document that should be included in VAT.

When a document enters the return:

  • Issued invoices, based on the taxable supply date.

  • Received invoices, based on the date the deduction is applied; the default value can be pre-filled in company settings, under the Modules — Purchase tab.

  • Whether a document enters the control statement and the return depends on the country entered, the VAT return line, and the control statement line.

  • The invoice must have VAT actually calculated — an amount at the zero rate won't enter the return.

ℹ️ Which lines apply to a specific type of supply is explained in the article on how supply codes affect VAT lines. For clients using domestic reverse charge or cross-border reverse charge, it's worth reviewing this before the first return.

VAT return

You compile the return in the Accounting Outputs section — VAT Return. Select the period, the type of return, and the output format: PDF for review, or XML for submission to the tax authority's portal.

Situation

Which return to file

Standard filing for a period

Regular return.

Error found by the last day of the following month

Corrective regular return — fully replaces the already-submitted regular return.

Error found later

Supplementary return — only the differences from the regular return are stated.

⚠️ A supplementary return can only be compiled if the original regular return was saved. A return gets saved when you select the electronic output. So only save genuinely final versions — a saved return cannot be displayed anywhere; it's a database record used solely for generating a supplementary return.

✅ Before filing, upload the XML to the tax authority's portal for validation, and keep the PDF of the return for your own records. The file also pulls in data from the company settings, so check those too before the first filing for a new client.

The coefficient for calculating the proportional deduction is preset to 100. If a client applies a reduced deduction, you must select the VAT line on the received invoice that includes the abbreviation KR in its name. Flexi calculates the settlement coefficient when compiling the return for the last period of the year, and uses it as an advance coefficient for the following year.

Control statement and responding to a notice

You compile the control statement in a similar way to the return — see the article Control Statement. Special care is needed when responding to a notice from the tax administrator, since it's easy to pick the wrong option.

What happened

How to respond

The original statement was correct, you just need to confirm it

Check quick response to notice. An empty statement is generated, submitted as XML in the usual way.

You need to make corrections

Don't use the quick response. Generate a full follow-up corrective control statement; the notice number can be added later on the portal.

The process is covered in the article on the follow-up control statement. Where to find the notice's reference number is described in a dedicated guide; if the statement won't export, check the most common causes of XML export errors.

Recapitulative statement

Filed for supplies to other EU member states. A guide exists for both the web interface and the desktop application.

ℹ️ If the PDF shows fewer lines than the statement itself, this is known behavior described in a separate article — it's 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, since the same process repeats for every client. A summary for the web interface is available in the article on the year-end closing, with a detailed procedure in the closing guide and the guide to closing a period and carrying data forward.

Creating a new accounting period

You create a new period in the accounting periods list using the New button. You fill in the abbreviation, validity range, and year code for document series. The process for the web interface is described in the article on closing a period.

Initializing the next accounting period

The actual closing is performed by the next accounting period initialization function. It closes the given period and carries account balances forward into the next year as opening balances. In the settings, you choose the closing accounts and several optional operations:

  • Revaluation of unpaid documents — revalues foreign-currency invoices and other receivables and payables at the exchange rate on the balance sheet date, creating an internal document for it.

  • Revaluation of bank accounts and cash registers — the same for foreign-currency accounts and cash registers.

  • Inventory carry-forward — for clients with inventory management, including options to skip cards with a zero balance.

✅ Initialization can be repeated, and this is by design. If you fix a document in a closed period after the closing, run it again — closing operations won't be duplicated. In the web interface, you don't even need to switch to the previous period, just select it.

ℹ️ You can further break down the closing accounts in the chart of accounts and aren't limited to the preset ones.

Locking periods

Once returns have been submitted, it's a good idea to lock the period so nothing more can be changed. This is done using period locking, or locking individual records.

Lock type

What it means

Open

Records can still be added to the period — use this when a correction is needed.

Locked

Nothing in the period can be edited or added.

Locked except for accounting

Only users with the Accountant or Payroll Accountant role can make changes.

⚠️ Only users with the Administrator or Accountant role can lock periods. You can't set two different locks for the same period, even for different modules. If you need to make a correction, switch the lock to Open and unlock the documents individually.

Corporate income tax

Flexi does not have a dedicated output for income tax. The underlying documents are the balance sheet and profit and loss statement — more details in the article on corporate income tax.

⚠️ Both the balance sheet and P&L must be recalculated into thousands before generating the XML, otherwise the output for the tax authority's portal won't be correct. The XML output is available in every edition of the app.


Slovak clients

If you also serve Slovak accounting entities, expect not just different rates, but also different report structures and control mechanisms. You choose the legislation when setting up the company, and it cannot be changed later — see the overview of supported organization types.

What to review with your first Slovak client:

💡 It's worth setting up Slovak clients from their own template company. Legislative settings can't be changed afterward, and mixing them with Czech templates leads to mistakes.


Archiving, GDPR, and offboarding a client

For the personal data you work with in Flexi, the division of roles is clear: your firm, or the client, is the data controller, while ABRA Flexi is the processor — we only store the data. Decisions about what happens to the data are therefore up to you.

Processing purposes

Flexi has its own registry of personal data processing purposes, with predefined purposes and the option to create your own. For each purpose, you record the legal basis, type of relationship, responsible person, nature of the data, where it appears across records, and validity. Creating and deleting purposes is described in a dedicated guide, and a general overview is in the introduction to GDPR in Flexi.

ℹ️ GDPR protection doesn't apply to legal entities. For individuals — including sole traders with a company ID — the rule applies: if you've issued an invoice, you must process the data according to a defined purpose. Without a purpose, the data must be deleted or anonymized. More details in the article on retaining data of a former customer.

When a client leaves

A client's departure has both a technical and a legal side. Recommended order of steps:

  1. Complete processing of the last period and submit all reports on the client's behalf.

  2. Generate and hand over to the client a backup of their company. This way they take their data with them in a usable form, and it can be restored under their own license.

  3. Keep your own copy of the backup for as long as you're required to retain the documentation.

  4. Archive the company rather than deleting it. Data stays intact, the company disappears from the selection list, and it's not subject to the active-company fee.

  5. In Company Management and the User Overview, remove access for the client's users.

  6. Review the personal data processing purposes and decide which ones still apply.

🚨 Deleting a company is irreversible. Automatic cloud backups are created daily and kept for three months — after that, the data can no longer be restored. Always archive a departing client, and only consider deletion once the statutory retention periods for accounting documentation have passed.

💡 Conversely, if a client is coming to you mid-year from another accountant, follow the section on taking over accounting in part one. The key is to close the entire month in the original system and not migrate mid-period.


Frequently asked questions

How many companies can we have in our license?

There's no limit on the number of companies. You pay for companies that are active — specifically CZK 95 per active company. Archive companies you're not working with; the fee doesn't apply to archived companies, and their data is preserved.

Can a single client have multiple companies?

Yes. The usual relationship is one client = one company, but a single client can also include several branches or subsidiaries. They then all share the same license edition.

Will our accountant also see other clients' companies?

No, as long as you assign them only to the clients they're supposed to handle. Each client's companies and users are in an isolated environment, and a user cannot accidentally access another client's data. Only the Accounting Firm access type has access to all companies across clients.

Can we give a client read-only access?

Yes, and it's free. Users with read-only access don't consume a paid seat, and you can have an unlimited number of them. It's a perfect fit for cases where a managing director wants to see the figures but shouldn't be entering data into the accounting.

Could we set up a methodology once and use it for all clients?

Not directly in bulk across companies, but there are two practical approaches: build a template company and restore new clients from it, or export the chart of accounts and posting templates to Excel and import them for other clients.

Can we change a client's organization type or legislation later?

No. Both are chosen when the company is set up and cannot be changed later, even with a custom modification. If you find an error, you need to create a new company and transfer the data into it. So verify both values carefully before setting things up.

We're taking over a client mid-year. Is that a problem?

No, it's just more work than switching at the start of a new period — especially for unpaid receivables, payables, and advances. It's important to close the full month in the original system and not migrate in the middle of a month, particularly because of VAT.

Which accounting outputs are only available in the desktop app?

Accounting outputs are available in both interfaces and work with the same data. The only things truly limited to the desktop app are payroll and HR; the Employees and Assets modules are displayed by the web interface but cannot be edited there. If your firm handles payroll, your payroll accountant will always need the desktop app.

Why doesn't our trial balance match account transactions?

Almost always because of unposted documents. Compare both reports, find the document present in the trial balance but missing from account transactions, and post it. Unposted documents also don't feed into the balance sheet, account balances, or profit and loss statement.

The open-item balance doesn't match our list of unpaid invoices. Where's the error?

Most often it's due to partially matched payments — a document must have the Matched flag. The second common cause is the matching symbol used for grouping the open-item balance. If the open-item account nets to zero, the accounting itself is fine and only the grouping is off.

Can a client view cash flow themselves?

Only if they have the Premium edition and their role has access to user queries enabled. Firm users work in the Premium edition, so cash flow is available to them; a client on Basic or Business does not have it.

We saved a VAT return by mistake. Can this be undone?

A saved return only serves as a basis for a potential supplementary return and cannot be viewed anywhere. That's why we recommend saving only the final version for a given period and archiving the PDF separately outside the system. To correct a submitted return, depending on the deadline, choose either a corrective regular return or a supplementary return.

Do we need to rerun period initialization after fixing an old document?

Yes, and it's safe to do so. Initialization can be repeated at any time without duplicating closing operations. Without rerunning it, the fix wouldn't be reflected in the opening balances of the following period.

We need a report that Flexi doesn't offer. What can we do?

You have three options: an SQL-based user query in the Premium edition, a configurable print report editable directly in the web interface, or a fully custom print report. We're happy to build a report for you — just ask us for a quote.

💡 A firm's operations can be set up so that most of the monthly routine runs on its own — bank connections, posting rules, imports, and custom reports. We're happy to walk through it with you and recommend what makes sense in your case. Sales inquiries and quotes are handled at obchodflexi@abra.eu or by phone at 371 124 340, and technical questions about day-to-day operation at podporaflexi@abra.eu or by phone at 371 124 321.

Did this answer your question?