A build-to-order integration that keeps Odoo and your Finnish accounting system reconciled — pushing invoices, importing bills and payments, and mapping the GL and cost centres both ways. ECOSIRE scopes, builds, installs and supports it after you request a quotation. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $449.00 USD; request a quote for a scoped proposal.

A build-to-order integration that keeps Odoo and your Finnish accounting system reconciled — pushing invoices, importing bills and payments, and mapping the GL and cost centres both ways. ECOSIRE scopes, builds, installs and supports it after you request a quotation.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Finnish SMEs increasingly run day-to-day operations — sales, purchasing, inventory, contacts — in Odoo, while the books stay in the accountant's Finnish accounting platform. That split creates a recurring reconciliation tax: customer invoices are re-keyed into the sales ledger, purchase invoices are exported to spreadsheets and imported by hand, payments land in one system days before the other knows about them, and VAT codes drift apart until month-end close turns into detective work. Odoo core has no native bridge to the Finnish ledger. Out of the box you get account, sale and purchase models, but no connector, no external-ID matching, and no field mapping to another accounting system's REST API — so the gap is filled with manual data entry and CSV round-trips that quietly introduce duplicates and errors.
Two-way contact sync: `res.partner` customers and vendors mapped to Netvisor with a persisted external-ID link and change detection in both directions
Push Odoo customer invoices and credit notes (`account.move`, move_type in out_invoice/out_refund) to the Netvisor sales ledger with line, tax and reference detail
Import Netvisor purchase invoices as Odoo vendor bills (`account.move`, in_invoice) with supplier matching and attachment carry-over
Product and price-list sync between `product.product` / `product.template` and Netvisor articles, including unit and default-code alignment
Import payments and vouchers into Odoo for bank reconciliation, matched to the originating invoice by external ID
General-ledger account mapping table translating Netvisor GL accounts to your Odoo chart of accounts per document type
The Netvisor Connector for Finland is a made-to-order Odoo module that ECOSIRE builds for your specific chart of accounts, VAT setup and dimension structure. Technically it is a proper Odoo addon: a __manifest__.py depending on account, sale, purchase, stock and contacts; new models.Model classes that persist an external-ID map (netvisor_id, netvisor_identifier) alongside every synced res.partner, account.move, product.product and payment record; and a transport layer that authenticates to the Netvisor REST API using the HMAC/MAC private-key signature scheme with your partner and customer IDs. Sync runs on ir.cron scheduled jobs (with an on-demand manual trigger), and every push or pull is idempotent — records are matched on the stored external ID so re-running a job never creates duplicates. VAT codes and general-ledger accounts are translated through configurable mapping tables, and cost-centre / dimension (kustannuspaikka) values map to Odoo analytic accounts, so a posted account.move carries the correct ledger and dimension coding in both systems.
The connector moves data in both directions. Odoo customer invoices and credit notes are pushed to the sales ledger; vendor invoices from the accounting side are imported as Odoo account.move vendor bills; customers and vendors sync as contacts; products and price lists stay aligned; and payments and vouchers are imported so bank reconciliation happens where your accountant works. Reliability is first-class: a persistent error queue captures any record the remote API rejects, with per-record logging, automatic retry with backoff, and a dry-run mode that shows exactly what would be created or updated before you commit real data. Access is controlled through ir.model.access.csv and record rules so only the finance and integration roles can see credentials or replay the queue, and OWL/XML views give you a mapping console and a sync-monitor dashboard inside Odoo. The build targets Odoo 17.0, 18.0 or 19.0 (Community or Enterprise — we confirm the edition-specific accounting behaviour during scoping).
Because this is build-to-order, nothing is downloaded and switched on. After you request a quotation we run a short scoping call, confirm your Odoo version and edition, your VAT and GL mapping, which document flows you need, and your Netvisor credentials model, then build and test against a staging copy of your data before go-live. Typical delivery is 2-4 weeks from confirmed scope. Pricing starts from $449 (indicative, single-company base scope); additional legal entities, extra document flows or custom dimension logic, and larger historical data-migration volumes increase the quoted scope. You receive a fixed quote after the scoping call — no surprises mid-build.
Runs sales, purchasing and inventory in Odoo but keeps statutory books in the Finnish accounting platform. Wants invoices, bills and payments to flow automatically so month-end reconciliation stops being manual re-keying.
Keeps several clients' ledgers in Netvisor and needs clean, deduplicated data arriving from each client's Odoo without CSV imports — with a clear audit trail and error queue when something doesn't map.
Owns the Odoo instance and is accountable for uptime and data integrity. Needs a proper addon with scheduled crons, logging, dry-run and rollback rather than a fragile spreadsheet or one-off script.
Oversees one or more Finnish legal entities and wants consistent GL, VAT and cost-centre (kustannuspaikka) mapping across systems, with the option to extend the connector to additional companies later.
Buy the license on ecosire.com and download the Netvisor Connector for Finland module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Netvisor Connector for Finland, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Fit to your Netvisor setup | Built for your chart of accounts, VAT and dimensions after a scoping call | Possible but depends entirely on your in-house team's Finnish-ledger knowledge | Generic mappings you must bend your data to fit | |
| Two-way sync coverage | Invoices, bills, contacts, products, payments and GL both directions | Whatever you have time to build and maintain | Often one-directional or invoice-only | |
| Duplicate prevention | Idempotent external-ID matching plus dry-run preview | Must be designed and tested from scratch | Varies; not always guaranteed | |
| Error handling | Persistent error queue, per-record logging, retry with backoff, replay | Only if you build it | Basic logs, limited retry | |
| VAT / cost-centre mapping | Configurable tables; unmapped codes blocked, not guessed | Hand-coded and hard to change later | Fixed mappings, hard to adjust | |
| Delivery model | Build-to-order, 2-4 weeks from confirmed scope, UAT on staging | Open-ended internal timeline and cost | Instant download but generic and self-configured | |
| Support and handover | Docs, training, post-go-live window, git repo handover | You own all maintenance | Vendor support tier, no source ownership | |
| Total cost of ownership | Fixed quote from indicative $449 base; you own the code | High build and ongoing maintenance cost | Recurring licence plus your configuration effort |
This is a build-to-order module, not an instant download. Typical delivery is 2-4 weeks from confirmed scope. After a short scoping call we confirm your Odoo version, edition, VAT and GL mapping and document flows, then build and test against a staging copy of your data before go-live. Larger data-migration volumes or extra entities can extend the timeline, which we flag in the quote.
Pricing starts from $449 as an indicative single-company base-scope figure. It is not a firm fixed price. Drivers such as additional legal entities, extra document flows, custom dimension logic or historical data migration increase the quoted scope. You receive a fixed quote after the scoping call, so there are no surprises mid-build.
Every build includes a post-go-live support window for defect fixes and mapping adjustments. You also receive the full git repository so your team can maintain it. Beyond the included window we offer ongoing support and version-upgrade work (for example moving from Odoo 17.0 to 18.0 or 19.0, or adapting to Netvisor API changes) under a separate maintenance arrangement.
Yes. Every synced record stores a persisted external ID, and both push and pull operations match on that ID before writing. Re-running a cron job or replaying the error queue updates the existing record instead of creating a new one. A dry-run mode lets you preview the exact create/update set before committing anything.
We build for Odoo 17.0, 18.0 or 19.0, on Community or Enterprise. We confirm your version and edition during scoping because some accounting behaviours differ between editions, and we target the specific one you run so the connector behaves correctly against your `account` configuration.
The connector uses configurable mapping tables. VAT codes are mapped between your Odoo tax records and Netvisor VAT codes, GL accounts map per document type, and cost centres (kustannuspaikka) map to Odoo analytic accounts. Unmapped VAT codes are blocked and queued rather than guessed, so nothing posts with an incorrect tax or ledger coding.
Failed records go to a persistent error queue with per-record logging of the reason. The connector retries automatically with backoff, and you can inspect and replay records from an in-Odoo monitor view. Because matching is idempotent, replaying a fixed record reconciles it without creating a duplicate.
A build-to-order integration that keeps Odoo and your Finnish accounting system reconciled — pushing invoices, importing bills and payments, and mapping the GL and cost centres both ways. ECOSIRE scopes, builds, installs and supports it after you request a quotation.