Question about bank transactions import and marking invoices as "paid"

Hello everyone,

I’ve read everything I could find on this topic, but I’m still a bit confused, so I just wanted to make sure I understand correctly:

You can import bank transactions from a CSV file using (for example) the free BankImport module, but Dolibarr’s core functionality does not currently provide a way to link an imported transaction / payment to a customer invoice and mark it as “paid”.

So, even though you may have a customer invoice and a bank transaction with identical amounts of money and identical third party names, Dolibarr does not link these two data sets.

Instead, marking a customer invoice as “paid” always creates a new bank transaction for the amount received, even if an identical transaction already exists in the bank account.

Is this correct?

Ray

hi RayCulp ,
Marking an invoice as paid (during import) does not create a payment entry here.
Because collection/supplier payment and Banking are two different areas of action.
So you can’t mark something as “paid” and also import the collection lines using “Bank import”.
This is possible through two separate processes..

yourdomain.tdl/htdocs/imports/import.php?step=2&datatoimport=societe_3&excludefirstline=2&enclosure="
Look at this import example; it will give you an idea.
good luck.

Hi umigun,

Thank you for the reply.

Just to make sure we’re talking about the same thing: I was not referring to supplier invoices. I meant a customer invoice.

When I open an unpaid customer invoice for viewing, there is a button called “Enter Payment”. If I click this button and enter the data of the payment, this creates a new transaction in the associated bank account in Dolibarr. This is what I mean by “marking” the invoice as “paid”.

On the other side, when I import a bank statement in CSV format, this also creates transaction records in the same bank account. Some of these transactions are the payments for unpaid invoices in Dolibarr.

My understanding is this: There is no way to import a bank transaction (payment) via CSV, and then assign or link this bank transaction with an open invoice as the payment for that invoice.

Is this correct?

The reason I am trying to understand this is because Dolibarr appears to work in a fundamentally different way than other systems I am familiar with, such as the subscription system Lexware Online.

In Lexware, the entire purpose of importing bank transactions is to be able to assign or link them with internal documents such as customer invoices.

In Dolibarr, it appears there is no mechanism to link bank transactions that you import via CSV with existing internal documents such as customer invoices.

Yes, that’s exactly what I wanted to explain.

What you’re importing is essentially an account balance entry.

It has nothing to do with the invoice. It’s just like the process described here: “/htdocs/compta/bank/various_payment/card.php?action=create&accountid=2”.

Inputs related to the invoice come from “/dolibarr/htdocs/compta/paiement.php?facid=2&action=create”

In short, a bank record cannot be matched with a bill payment.

1 Like

Some systems view their financial transactions with customers, suppliers, or third parties as a kind of cash register.

When a payment is received, the system considers the invoice paid (or marks it as paid in the near future), which is incorrect practice.

Dolibarr, however, is different (that’s the truth); it requires clarity on the purpose for which the payments are made.
Debt, overpayments, bills, and advances are thus easily managed.

On the other hand, the data you’re importing is a payment bank card; it’s impossible to associate it with something that doesn’t exist or will exist in the future. (In other words, there doesn’t seem to be a plan to associate them at the moment.)

These types of tasks require specialized content imports. If you wish, you can seek assistance from any local support company, or if you prefer, we can gladly help you.

Respectfully…

1 Like

Thank you very much for this clarification.

Since bank transactions imported via CSV cannot be linked to any type of Dolibarr-internal documents, such as unpaid customer invoices, what actually is the purpose of importing bank transactions?

If I am running my business correctly, every business transaction – whether it is generating revenue, paying supplier invoices, paying taxes, paying fees and dues – must be done through Dolibarr, so Dolibarr is aware of and tracks everything that happens.

On the other hand, the bank account is used exclusively for sending and receiving funds related to the business. Everything transaction on the bank account must absolutely have a corresponding document in Dolibarr. No exceptions. This is true even if further processing of these transactions is done externally by a tax consultant.

Transactions imported via CSV would remain unlinked to anything happening in other areas of Dolibarr forever, so they’re basically data garbage and can be deleted. Is this correct?

Since bank transactions imported via CSV cannot be linked to any type of Dolibarr-internal documents, such as unpaid customer invoices, what actually is the purpose of importing bank transactions?

Its purpose is to keep a record of bank/cash transactions, including any transactions outside of Dolibarr, such as wire transfers or EFTs, recording them in the cash book. Subsequently, if there is a related transaction (e.g., invoice, promissory note, cash payment), it allows for editing based on the invoices.

In short, it allows you to keep an independent record… Independent of transmission.

If I am running my business correctly, every business transaction – whether it is generating revenue, paying supplier invoices, paying taxes, paying fees and dues – must be done through Dolibarr, so Dolibarr is aware of and tracks everything that happens.

Yes, there are menus for these in the Accounting section, e.g., TAX payments from invoices, Salary, Expense entries, etc. So all records are linked to a document. There is a “Cross-module workflow” module, and if enabled, relationships can be established between CARD pages (not all of them).

On the other hand, the bank account is used exclusively for sending and receiving funds related to the business. Everything transaction on the bank account must absolutely have a corresponding document in Dolibarr. No exceptions. This is true even if further processing of these transactions is done externally by a tax consultant.

Yes, you can see these printouts in many places such as the ledger, journal, and trial balance (general accounting - double entry must be enabled). Your financial advisor can review them.

Transactions imported via CSV would remain unlinked to anything happening in other areas of Dolibarr forever, so they’re basically data garbage and can be deleted. Is this correct?

Each import operation assigns a timestamp. You can use this timestamp to filter lists and delete records in bulk. You can also filter tables in SQL fields using “import_key” (not recommended due to foreigning_key connections).

kind regards.