SWIFT MT942 Interim Transaction Report Parser
Read SWIFT MT942 interim cash-management reports and reconcile your intraday bank movements hours before the end-of-day statement arrives.
The SWIFT MT942 message â the "Interim Transaction Report" â is what banks push several times a day so a corporate treasury can see the movements booked on an account since the last statement. This app reads that file, splits every intraday movement into a clean record, classifies each one by its SWIFT transaction type, reconciles the totals against the message's own debit/credit summary fields, and routes the report to the correct Odoo bank journal so the cash lands where it belongs â early.
Built for the real MT942 field structure
Full field coverage
- :20: Transaction Reference Number
- :21: Related Reference
- :25: Account Identification
- :28C: Statement Number / Sequence Number
- :34F: Floor Limit Indicator (debit and credit)
- :13D: Date / Time Indication with UTC offset
- :61: Statement Line â value & entry date, mark, amount, type code, references
- :86: Information to Account Owner narrative
- :90D: / :90C: Number and Sum of Debit / Credit Entries
SWIFT-correct parsing
Amounts are read with the SWIFT comma decimal separator (1234,56). The debit/credit mark drives the sign and supports D, C, reversal marks RD/RC and the interim-only forward-value marks ED/EC. The optional entry date is resolved against the value-date year, handling the December→January roll. The transaction-type identification code (N/F/S prefix plus the SWIFT business code) gives every movement a human-readable label and category.
Intraday reconciliation, the right way
Expected vs final
An interim report can carry expected (forward-value) entries that are not yet finally booked. The app flags them with the SWIFT ED/EC marks and skips them on import by default, so they never double-count against the end-of-day MT940 statement.
Summary reconciliation
The declared :90D: and :90C: counts and sums are reconciled against the parsed movements. Any mismatch is surfaced in the parse log and flagged on the report, so a truncated or corrupted file never imports silently.
Journal routing & import
The report is matched to a bank journal by its account identification, using a normalised key that ignores spaces, dashes, separators and leading zeros. One click then posts the movements as standard Odoo bank statement lines, ready for the reconciliation widget â with an optional floor-limit filter.
Feature summary
| Capability | What it does |
|---|---|
| MT942 parser | Full :20:/:21:/:25:/:28C:/:34F:/:13D:/:61:/:86:/:90D:/:90C: field support |
| FIN & bare files | Reads both full SWIFT FIN messages and the bare block-4 body delivered by cash-management portals |
| Movement split | One report becomes one record per intraday movement, each with its own dates, amount and references |
| Type-code engine | SWIFT N/F/S prefixes plus the published business transaction code table (transfer, cheque, direct debit, interest, charges and more) |
| Sign & reversals | Correct debit/credit sign from the field-61 mark, including RD/RC reversals and ED/EC expected entries |
| Summary check | :90D:/:90C: declared counts and sums reconciled against the parsed movements |
| Journal routing | Normalised account-identification matching with a per-journal override field |
| Statement import | Creates standard bank statement lines, skipping expected entries and optionally below-floor movements |
| Audit trail | Chatter log of every parse, routing and import step on each report |
Pure parser â no transmission
This is a pure SWIFT MT942 file parser. It reads the interim reports you already download from your bank's cash-management portal or receive over your own host-to-host channel; it never connects to any external service, holds no credentials and transmits nothing. Your statement data never leaves your Odoo database.
Compatible with Odoo 18 and Odoo 19, Community and Enterprise. Depends only on the community Accounting base â no Enterprise modules required.
Keywords: MT942, SWIFT MT942, interim transaction report, intraday statement, intraday reconciliation, cash management, bank statement import, floor limit, field 61, MT940, treasury, forward value, expected entries.
Screenshots
Movements
Interim Reports
Update date: 2026-07-02
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 1338 |
| Technical Name |
bank_mt942_interim |
| License | OPL-1 |
| Website | https://pokutsoft.com/ |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module