Transactions management
When the client or any other entity pays the invoice, the payment transaction is recorded in your bank account, including transactions for contractors. All transactions can be found by clicking the "Transaction" button for the chosen bank account.
The Transactions view provides a real-time overview of all financial movements across linked bank account. This section helps finance teams track payments, reconcile discrepancies, and monitor cash flow. The view consists of 2 parts: on the top there's graphical representation of balance changes across time, below there's detailed view of each transaction.
What the View Shows:
- Current balance: Displays the total available funds for selected bank account.
- Transaction history: Lists all processed and pending transactions.
- Filtering options: Allows users to filter by date range, contractor, amount, or direction — incoming or outgoing.
- Attachments column: Indicates whether supporting documents (e.g., invoices, receipts) are required.
- Contractor linkage: Highlights missing contractor information that needs updating.
- Each Contractor in the table has clickable icon on the left, so you can easily go to contractor's page to check/update details.
When clicking on a specific transaction, a side drawer opens with detailed transaction management options. This functionality allows finance teams to efficiently review and update individual transactions.
Features Available in the Side Drawer:
Add Attachment – Upload supporting documents such as invoices, receipts, or contracts. You should also select Received date to ensure compliance.
Attach Awaiting Files – If documents were already uploaded but not linked to this transaction, they can be attached here. You should only find attachment in the list and click "Attach" button. The list holds every awaiting document, and the search box above it, Search by amount or document number, narrows it in two ways. Type an amount the way you would write it, such as
16 124,00,16124or16.124,00, and it finds documents of exactly that amount, to the cent; a credit note is found by its amount with or without the minus sign. Or type part of a document number, in any letter case: it matches the invoice number on the document and the file name, which is where many uploads carry their number. When nothing matches, the list says No results and offers to clear the search.Link attachment suggestion – When Flowtly suggests a document for the payment, the suggestion card compares the document's amount with the payment's in an Amount row:
- Agrees – the two amounts are the same, to within one grosz.
- Differs – the card shows both amounts and the difference. A document in another currency than the payment always reads Differs, with both amounts and no difference.
- Not on the document – the document has no amount yet, so the payment's amount is not checked.
When the suggestion comes from a supplier who bills the same amount every month, the card also says how many unlinked documents from that supplier carry the amount, for example 3 unlinked documents from this supplier carry 1 230,00 zł. Pick the document for the right month with that in mind. A suggestion that carries no amount comparison shows no Amount row.
Assign to Budget– Link the transaction to a specific budget for accurate financial tracking. This feature is available only if Budget module is active.
Categorization – Split the transaction's amount across one or more projects. A sum indicator below the rows shows whether the allocated amounts match the transaction's amount; a mismatch is called out explicitly, and the split is not saved until it is resolved.
Employee cost split – Inside Categorization, attribute the transaction's amount to one or more employees. Add employee split sits at the top of the subsection and opens a form for the employee, the amount and an optional note. Each row shows the employee, their share and the amount. You can change the amount in the row itself, and it saves when you leave the field. The Employee split total below the rows shows whether the splits add up to the transaction's amount. A split that covers only part of the amount is allowed: the total says Sum does not match the transaction amount rather than blocking it. Removing a row, or using Delete all employee splits, asks you to confirm first. Only a transactions manager can change the split. Other users who can open the transaction see it read-only, with a line saying so.
Assign as task – Hand the transaction to a colleague as a task. The button is in the bar at the bottom of the drawer, below the sections, so it stays in view while you scroll. It appears only if you are allowed to create tasks.
A closed section of the drawer says what it holds, so you can read the drawer without opening every section. On a payment that settles an invoice, a closed Categorization reads from the invoice; otherwise it gives the number of projects, for example 3 projects. Inside it, Transaction categorization shows its number of projects, and Employee cost split shows the number of people it is split across, or Not split.
A field that could not be saved says so
The fields in this drawer save themselves as you leave them — there is no Save button to press. When a save succeeds a tick appears beside the field for a moment and then fades. When the server refuses one, the field says "Not saved" and keeps saying it, with the reason beside it where the server gave one. That warning does not fade: it stays until that field is saved successfully, so a value you believe you entered cannot quietly be absent.
The value you typed is left on screen rather than discarded, and leaving the field again retries the save — so a refusal caused by something you can fix, such as a duplicate tax ID or an amount outside the allowed range, is corrected in place.
The same applies to the per-person amounts in a cost split on an incoming invoice: an amount the server rejects is marked, not silently dropped.
When the document already says which project
A cost can be recorded against a project in two places: on the document — the supplier invoice or attachment — and on the payment that settles it. Only one of them is needed, and Flowtly treats the document as the one that counts.
So if the document a payment settles already names a project, the payment cannot be given a project of its own. Categorisation on that payment is unavailable, and the drawer says the assignment belongs on the document. The same applies to an outgoing invoice: if the invoice, or the contract it was raised under, names the project, the payment that settles it does not repeat it.
When the document carries the project on its own split or on one of its lines, the drawer names both: Assigned via the document's number → the project. If you can open incoming invoices, the same notice links straight to the document. A payment whose supporting document (one that is not an invoice) names no project shows the general notice instead, and its categorisation stays read-only too.
A payment that settles an invoice takes its project from that invoice, whether you issued the invoice or received it, and even while the invoice names no project yet. The drawer says Assigned via invoice and, if you can open that invoice, offers Open invoice. On such a payment the whole of Categorization is read-only: its project split, its tags and its Employee cost split. Whatever was recorded there before stays visible, and the section says why it cannot be changed. The invoice summary in the payment's drawer shows the invoice's own tags, both those on the whole invoice and those on its lines; a tag shared by several lines is shown once. The same applies to a payment linked to an invoice as one of several documents. A supporting document that is not an invoice does not, on its own, make the tags and the cost split read-only.
The reason is worth a sentence, because it explains a rule that can otherwise look like a missing feature. Two independent records of one cost can drift apart — someone edits the split on the invoice months later and the payment still points somewhere else — and nothing about the numbers would look wrong while they did. Keeping the cost in one place removes the question.
Where to change it instead. Open the document and edit its project split there — see Splitting a Cost Across Projects by Attribute for how the split works, including striking a project out of it. For an outgoing invoice, change the project on the invoice row, or on the contract.
When the payment is still the right place. A payment with no document keeps its own categorisation exactly as before. That is the normal case for a cash spend, a bank fee, or a cost whose invoice has not arrived yet — nothing about those changed.
Payments already recorded in both places keep working and keep their numbers; the budget has always counted such a cost once, not twice. A split recorded on a payment before it was linked to its invoice stays on the payment, visible and read-only. It cannot be cleared from the payment's drawer; contact Flowtly support if it needs to be moved onto the document.
Giving the document a project when the payment already has one. The rule also works in the other direction. However you set the document's project (editing its split by hand, using one of the prefill buttons, or accepting a suggested project), Flowtly first checks the payments that settle it:
- If a payment names the same project for the same amount, the document takes the project and the payment's own copy is removed, so the cost is recorded once, on the document, for the same total.
- If a payment names a different project, or a different amount, nothing is changed and Flowtly says why. When you accept all suggestions at once, this one is listed as skipped and the rest are still applied.
Accepting a suggested counterparty also accepts the invoice's suggested note. When the counterparty Flowtly suggested for a payment is accepted — by you, through accept all, or automatically where your organisation has switched that on — and exactly one invoice is linked to that payment, the note Flowtly suggested for that invoice is accepted at the same time and written onto the invoice. No other note is touched. The note stays a suggestion, for you to decide on in the invoice's drawer, when more than one invoice is linked to the payment, when the invoice has more than one suggested note, or when it already carries a different note: a note someone wrote is never replaced.
Details Section Counterparties – Assign or update the counterparty (the contractor or client) the transaction is with. Manage counterparty, under the two fields, opens the selected counterparty so you can edit its name, roles and defaults; it is unavailable until a counterparty is selected. To add a counterparty that does not exist yet, type its name in the counterparty field and choose Add counterparty (see Counterparties). If the counterparty lacks the supplier or client role this transaction needs, a note under the fields names it and asks you to add that role, because searches for that role will not find the counterparty until you do. Related month – Define the relevant financial period for reporting purposes. On a transaction, both this field and the counterparty are required. Transaction Amount & Balance After Transaction – Displays financial impact and updated account balance.
An incoming document's panel uses the same Details section, with the same two fields. See Transaction Attachments.
Attachments Section Each document linked to the transaction is listed with its actions in a fixed order. Open goes to the document, if you can open incoming invoices. Preview shows its file and Download saves it. Both appear only when the document has a file. The note button adds or edits a note, and Unlink comes last. Unlink asks you to confirm, then detaches the document from this transaction. It does not delete the document.
The note on a linked document opens under its row and saves itself when you leave the field. There is no Save or Cancel. If the note cannot be saved, the text stays in the field with the reason and a retry, the row stays open, and the note icon turns red until the note is saved. This note is stored with the document's link to this transaction. It is separate from the Note section in the document's own panel, so a note written in one place is not shown in the other.
Invoices you issued that this payment settles are listed in the same section, each with Open and Unlink. Unlinking an invoice takes effect straight away, without a confirmation.
There's an option to directly download the MT940 file at the top right corner of the Transactions item from the main menu. After downloading the file, it will be automatically attached to the designated bank account.
An uploaded statement file is assigned to a bank account by comparing the account number in the file with the account numbers configured on your bank accounts. A bank account saved without an account number cannot take part in that comparison and never receives a statement automatically - see Bank Accounts for where to fill it in.
Which file to export from your bank
MT940 is a standard bank-statement format — a plain text file, not a spreadsheet, a PDF or an XML report. Flowtly accepts it with any of the extensions banks give it: .sta, .txt, .mt940 or .940.
Most online banking offers several exports, and only the MT940 one can be imported here. The names differ between banks, but the distinction is the same everywhere:
- MT940 — this is the one. Look for it by name; some banks label it statement in MT940 format or SWIFT MT940.
- MultiCash, MT942, or an export described as an intraday or balance report — a different format, even where the same menu offers it beside MT940. It will not import.
- An XML export, or anything labelled as a report or a file-structure export — not MT940 either, whatever file extension it happens to carry.
If your bank offers more than one and you are unsure, export the one named MT940 and upload that.
If the upload is refused, the file is not in a format Flowtly can read — most often because it is one of the other exports above rather than MT940. Try the MT940 export specifically. If that is refused too, send the file to support: the format varies between banks, and some need work on our side before they can be read.
Every refused file is kept. Below the list of statements on the Transactions page, the Refused uploads table shows each one with the time it was refused, who uploaded it and the reason. Use the download icon in its row to get the exact file that was sent, for example to correct it or to pass it to support. Some older refused files have no download icon because their copy was not linked to the entry.
What the import message tells you
When the file has been read, a message reports how many transactions were added — which is not always how many the file contained. Statements overlap: a movement Flowtly already holds is recognised as the same movement and is not entered a second time, so re-uploading a file, or uploading one covering days already imported, adds only what is genuinely new.
The message is worded for what happened.
- Everything in the file was already held. It says so — All 13 transactions from this file were already in the system. — and appears as information rather than as confirmation that something was added, because nothing was.
- Some movements were new and others already held. Both numbers are given: 5 transactions imported. Already in the system: 8.
- Every movement was new. The message reports the number imported.
A movement is recognised as one you already hold when its dates, amount, reference and description all match. Two separate payments that happen to share a day and an amount are never merged into one: each keeps its own row, and each is recognised separately on a later upload. The same applies to a file uploaded again after your bank changed how it words a movement: if the description of a line differs from the one stored, that line is treated as a new movement and is added.
A count lower than the number of movements you can see in the statement is therefore the expected result on an overlapping upload: it means nothing was duplicated, not that rows were lost. If a movement you expected is genuinely absent, look for it in the transaction list first — it may have arrived with an earlier statement.
Transactions for Contractors
How does it work?
Pay the contractor via your bank (outside Flowtly). Keep the payment confirmation or bank transaction details for reconciliation. To reflect the payment in Flowtly, import your bank statement (MT940 file) into the system. Flowtly will automatically match payments with contractor based on the amount, payment reference, and contractor details. If Flowtly doesn’t automatically match a transaction, you can manually assign it to the relevant contractor by selecting it from awaiting attachments.
Automatic matching follows a few rules, so that a payment is only booked on a document it can actually settle:
- Direction. Money leaving your account is matched only to a cost document. Money coming in is matched only to a document with a negative amount, such as a credit note a supplier refunds. An incoming payment is never booked on a cost invoice just because the amounts are the same.
- Payments you rejected. When you reject a payment suggested for a document, Flowtly does not link that payment to the document automatically afterwards, either when you save the document or when you import a bank statement.
- Recurring amounts. When a supplier bills the same amount every month, there can be several payments of that amount close to one invoice. Each invoice is then matched to the payment nearest its date, within 20 days, so one month's payment is not booked on another month's invoice. When no payment qualifies, the invoice is left unmatched for you to link by hand.
Contractors that belong to an internal cost group are left out of these automatic suggestions, so an internal transfer is not proposed as a supplier payment even when the contractor's name appears in the transaction description. You can still assign such a contractor to the transaction yourself.
A transfer between two of your own bank accounts, such as moving money from your main account to your VAT account, is not flagged as missing a budget. Flowtly treats it as your own transfer only when the other account number in the bank's description exactly matches another bank account you have added in Flowtly, hidden ones included. A name, an amount or the word "VAT" is not enough. Every other check on the transaction still applies.
Open Counterparties in the main menu, choose the Suppliers tab, open the relevant supplier's record and follow the link in its Supplier section to the contractor page. Under the Transactions tab, all payments related to that contractor will be listed. This tab provides a structured overview of all financial transactions related to a specific contractor, making it easy to track historical payments, missing attachments, and financial trends.
Key Features of the Contractor Transactions Tab:
- Graphical Overview – Displays a visual breakdown of transactions over time.
- Detailed Transaction List – Shows all transactions linked to the contractor, including payment dates, amounts, and statuses.
- Attachment Status – Indicates whether a transaction has an associated document (e.g., invoice, proof of payment).
- Financial Trend Analysis – Helps monitor contractor expenses across months and years.
When clicking on a transaction, a side drawer opens with detailed transaction management options. This functionality allows finance teams to efficiently review and update individual transactions. Details described in Features Available in the Side Drawer section.
You can also manage transaction attachments here, similar to the bank account transactions.
Transactions for Clients
How does it work?
To reflect client payments in Flowtly, import your bank statement (MT940 format) into the system (Transactions item in the main menu). Flowtly will automatically detect incoming payments and attempt to match them with existing invoices for clients. If the system finds a match, it will assign the transaction to the correct invoice under the corresponding Client Profile. The Payments tab in a Client’s profile gives a structured overview of all issued invoices and their respective payments. If a payment is not auto-matched, you can manually assign it by detecting the invoice under the Payments tab and click "Assign transaction". It will open a modal with imported transactions that were not matched or with not full amount of it used. You can also provide transaction amount here.
After that, the transaction will be matched with the invoice, and paid amount status and amount will be updated. You can remove already assigned transaction. This will also lead to recalculation.
Example use cases
- Reconciling Bank Statements: Easily match imported bank transactions with internal records to ensure all financial movements are accounted for and discrepancies are resolved promptly.
- Tracking Contractor Payments: Monitor all outgoing payments to contractors, link them to specific contracts or projects, and ensure all supporting documents like invoices or payment confirmations are attached.
- Managing Client Incomings: Automatically or manually assign incoming client payments to outstanding invoices, updating their payment status and keeping an accurate overview of receivables.
- Audit Preparation: Ensure all transactions have necessary attachments (invoices, receipts) linked, facilitating quicker audits and compliance checks by having a centralised and organised record.