See who has paid you, without checking line by line
Comparing a bank statement with a list of invoices takes time, and a missed transfer can lead you to chase a customer who has already paid. m2m.ma starts from your statement: you download it from your online banking, then import it in the Bank section. MT940, CAMT.053, OFX and CSV formats are accepted.
Each transaction is given a fingerprint. If you import the same statement twice, or two statements that overlap, no line is created twice.
How a payment is recognised
The platform reads the description of each transaction and looks for your invoice number in it, even when the bank has rewritten it. FA-2026-0042 might appear as FA20260042 or FACT 2026/42, for example. It then compares the amount and the payer's name.
When only one invoice matches with certainty, the payment is linked to it automatically. In all other cases, you are given a suggestion and you make the decision: nothing is linked at random. Each link can be undone if you change your mind.
- Part payments tracked invoice by invoice
- A single transfer can settle several invoices
- Transactions with no invoice ignored or sorted by category
- Invoices updated: paid, part paid or still due
What you get day to day
Once the statement has been processed, you know what is still to be collected without opening a spreadsheet. The transactions you have reconciled are checked against your invoices and your entries, and your accountant works from the same information. A cash receipt can also be recorded, directly in the invoice, without going through a bank account.
What about a direct connection to the bank?
It is not available at present. It depends on banking partners and on the open banking framework in Morocco. So you stay in control of what you share: you are the one who imports the file, and m2m.ma never asks for your online banking login details.
If your bank offers file exchange, automatic delivery of your statements can be set up. Write to us to discuss it, stating your bank and the format it provides. Your statements are then processed in the same way as a manual import.