much. Transaction Importer : User Documentation
Do you need support with our module? Open a ticket
1. Overview
The Transaction Importer module automates the process of fetching financial transactions from various external payment providers (like Stripe, PayPal, Shopify, etc.) and importing them directly into Odoo as Bank Statements.
Key Benefits:
Automation: Reduces manual data entry by automatically fetching transactions on a schedule.
Reconciliation: Automatically matches imported transactions with existing Invoices or Sales Orders in Odoo.
Centralization: Manage multiple payment providers within a single interface.
2. Supported Payment Providers
The module currently supports the following providers:
Shopify
PayPal
Stripe
Mollie
Heidelpay
Six Payment Services
3. Configuration
To start importing transactions, you must configure an Integration record. This defines where the data comes from and where it goes in Odoo.
3.1. Creating a New Integration
Navigate to the Integration Hub menu in Odoo.
Click Create.
In the Integration Type field, select the relevant provider (e.g., "Import Transaction: Shopify", "Import Transaction: Stripe").
3.2. Connection Settings (Credentials)
Depending on the provider selected, you must enter specific credentials in the Connection Settings tab.
Shopify:
Host URL: Your Shopify store URL.
Token: The access token (password) generated in your Shopify Admin.
API Version: The specific Shopify API version (e.g., "2024-01").
PayPal:
Host URL: https://api.paypal.com (for production).
Client ID: Your PayPal API Client ID.
API Secret: Your PayPal API Secret.
Stripe:
API Key: Your Stripe Secret Key.
Mollie:
Host URL: https://api.mollie.com/v2.
Organisation Access Token: Your Mollie access token.
Balance Ids: Comma-separated IDs of the balances you wish to import (e.g., bal_..., bal_...). You can use "primary" as the default balance id.
Heidelpay:
Sender & Entity: Identifiers provided by Heidelpay.
User & Password: Your login credentials.
Six:
Portal: Select either "BackOffice" or "myPortal".
User & Token/Password: Your login credentials.
Note: For all providers, there is a separate section for Test Credentials if you are running Odoo in a staging/test environment.
3.3. Reconciliation Settings & Journal Mapping
This is the most critical part of the configuration. It determines how transactions are filtered and into which Odoo Journal they land.
Navigate to the Reconciliation Settings tab.
Setting Lines (Journal Mapping)
You can add multiple lines here. Each line represents a rule:
Journal: Select the Odoo Bank Journal where these transactions should be created.
Parameters: (Optional) Enter a comma-separated list of keywords. Only transactions matching these parameters will be imported into this specific journal. Here is a breakdown of support keywords by providers :
| Provider | What it Filters By | Example Parameter Values |
| Shopify | Payment Method (Gateway) | paypal, shopify_payments, manual, stripe |
| Stripe | Transaction Type | charge, payout, refund, adjustment, fee |
| Heidelpay | Account Brand | SEPA, VISA, MASTER, PAYPAL |
| PayPal | Transaction Status | S (Success), P (Pending), R (Reversed) |
| Mollie | Not Supported | (Leave Empty) |
| Six | Not Supported | (Leave Empty) |
Active: Toggle to enable or disable this rule.
Reconcile: Check this box to enable automatic reconciliation logic for this journal.
Fees: If checked, transaction fees will be added as a separate line at the bottom of the bank statement.
Advanced Reconciliation Options
If Reconcile is enabled on a setting line, further options appear:
Check Exact Amount: If enabled, the system looks for an invoice with the exact matching amount.
Tolerance (Overpayment/Underpayment): If the paid amount differs slightly (e.g., currency exchange difference), you can set a tolerance based on Percentage or Fixed Amount.
You must specify a Reconciliation Model (Write-off account) for the difference.
Match Over: Define the primary matching criteria:
Partner: Requires the customer/vendor to match.
Transaction ID: Matches based on the reference ID (often used for invoice references).
Matching Fields
At the top of the Reconciliation Settings tab, you can define specific fields to improve matching accuracy:
Fields to match Sale Order: Select fields on the Sale Order (e.g., client_order_ref) that might contain the transaction reference.
Fields to match Invoice: Select fields on the Account Move.
Fields to be matched on Transaction: Map specific statement line fields to the transaction ID.
4. Usage
4.1. Automatic Import
Once configured and set to "Active", the system runs a scheduled job (Cron) to fetch transactions automatically based on the interval defined in the integration settings (e.g., every 2 hours).
4.2. Manual Import (Run Manually)
You can manually trigger an import or reconciliation run at any time.
Open the specific Integration record.
Click the Run Manually button.
A pop-up wizard will appear:
From / To: Select the date range you wish to process.
Import Transaction: Check this to fetch data from the provider.
Reconcile Transaction: Check this to run the reconciliation logic on existing statements.
Click Run. You will receive a notification summarizing the number of transactions imported or reconciled.
4.3. Viewing Results
Bank Statements: Imported data creates Bank Statements in the respective Journals.
Bank Statement Lines: Individual transactions appear as lines within the statement.
The system populates the Transaction ID and Order ID fields on these lines.
If a Sale Order match is found, it will be linked in the list view.
5. Troubleshooting & FAQ
Q: I ran the import, but 0 transactions were imported.
Check Dates: Ensure the "From" and "To" dates in the manual wizard actually contain transactions in your payment provider's dashboard.
Check Parameters: If you set "Parameters" in the Setting Lines (e.g., "VISA"), ensure the transactions in the provider actually match that payment method string.
Redaction: If content was previously fetched but is now unavailable, verify the connection by trying to fetch a small date range again.
Q: Transactions are imported but not reconciling.
Check Invoice Status: Reconciliation only works for Invoices in the Posted state that are not yet paid.
Check Tolerance: If the amounts differ by a few cents, adjust the Overpayment/Underpayment tolerance settings in the Integration configuration.
Partner Matching: If the email on the transaction doesn't match the email on the Customer record in Odoo, auto-matching may fail. Consider unchecking "Match Over: Partner" if this is a frequent issue.
Q: How do I handle fees?
Enable the Fees checkbox in the Setting Line. The system will sum up the fees and create a separate negative line item on the Bank Statement for easy accounting.