Save reusable, named import and export templates that map spreadsheet columns to any Odoo model's fields, run validation with error-row reporting, and schedule recurring loads. Built to order and supported by ECOSIRE for Odoo 17, 18, and 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $199.00 USD; request a quote for a scoped proposal.

Save reusable, named import and export templates that map spreadsheet columns to any Odoo model's fields, run validation with error-row reporting, and schedule recurring loads. Built to order and supported by ECOSIRE for Odoo 17, 18, and 19.
Aucun paiement maintenant. Ceci envoie une demande de devis à notre équipe — nous vous recontacterons par e-mail avec les tarifs et les prochaines étapes.
Data managers moving into or syncing with Odoo hit the same wall every migration cycle: the native Import tool is stateless. You rebuild the column-to-field mapping by hand for every file, re-tick "Don't import" on the same junk columns, and re-explain to a colleague which sheet feeds res.partner versus product.template. When a load half-fails, Odoo aborts the batch with a single terse error instead of telling you which of the 4,000 rows was bad. There is no way to save a mapping, no way to transform values on the way in (trim, upper-case, map "Yes/No" to booleans, look up an external ID), and no way to run the same export on a schedule. For teams doing repeated onboarding, multi-entity consolidation, or nightly syncs, that native ceiling turns a five-minute job into an afternoon.
Named, reusable `ir.import.template` records storing target model, mapping, transforms and validation rules as saved configuration
Column-to-field mapping for any model in the registry, including custom addons, with drag-or-select UI in an OWL wizard
Related-field mapping via dot-notation (`partner_id/name`) and external-ID / XML-ID resolution for relational links
Declarative per-column transforms: trim, case-fold, default-on-empty, date-format normalization, regex replace, and boolean/selection value maps
Optional per-field Python expression hook (server-side, permission-gated) for genuinely irregular source data
Two-phase dry-run: every row validated against field types, required fields and selection domains before any write commits
Advanced Import / Export Templating is a build-to-order Odoo module that turns those one-off mappings into first-class, reusable records. We add an ir.import.template model (and matching export template) that stores the target model, the column-to-field mapping, per-field transforms, and validation rules as saved configuration you name once and reuse forever. Mappings target any model in the registry — including your custom addons — and support related fields via parent_id/name dot-notation and external-ID resolution (__export__/XML IDs) so relational links resolve correctly instead of failing silently. Transforms are declarative (trim, case, date-format normalization, default-on-empty, regex replace, boolean/selection value maps) with a hook for a Python expression when a client's data is genuinely messy.
Technically, the module is a clean Odoo addon: a proper __manifest__.py, models built on models.Model with fields and @api.depends computes where derived state is needed, an OWL/XML wizard for the upload-preview-validate-commit flow, and ir.model.access.csv plus record rules so template ownership and execution are permission-scoped (import/export can be gated by group). Validation runs in a dry-run pass first: every row is checked against field types, required fields, selection domains, and your custom rules, and failures are collected into a downloadable error-row report (row number, column, value, reason) rendered via a QWeb report — so you fix the source file, not guess. Both CSV and XLSX are supported on read and write. Recurring jobs are wired through ir.cron / automated actions so a template can pull a file from a configured location (or push an export) on a schedule, and every run is logged. The same templates are callable over XML-RPC / JSON-RPC, so an external ETL or another system can trigger a validated load programmatically.
Because this is build-to-order, ECOSIRE builds the module against your exact Odoo version (17.0, 18.0, or 19.0), your edition (Community or Enterprise — we note where Enterprise-only fields or studio models affect mapping), and your real target models and file formats. We start with a short scoping call to confirm the models, the transforms your data actually needs, and where scheduled files land. Typical delivery is 2-4 weeks from confirmed scope. You get installable source, a UAT pass on your staging database with a rollback plan, documentation, a training session for your data team, and a post-go-live support window — not a black-box zip.
Onboarding a new company onto Odoo who must load partners, products, BoMs and opening balances from legacy exports repeatedly during rehearsal cutovers — and needs saved, validated mappings so each dry run is identical and auditable, not hand-rebuilt.
Maintains a live Odoo instance that must ingest supplier price lists, stock feeds or CRM exports on a nightly cadence, and wants scheduled `ir.cron`-driven imports with error-row reporting instead of manual file-by-file uploads.
Consolidates data across several companies or Odoo databases and needs reproducible export templates (pinned fields, filters, XLSX) plus programmatic XML-RPC triggering to feed BI or a parent system reliably.
Delivers Odoo projects for clients and wants a documented, permission-scoped templating layer they can hand over with training, rather than writing bespoke import scripts per engagement.
Achetez la licence sur ecosire.com et téléchargez le module ZIP Advanced Import / Export Templating depuis le tableau de bord de votre compte.
Extrayez le ZIP dans votre dossier de modules complémentaires personnalisés Odoo sur le serveur (ou téléchargez-le via Applications > Installer à partir du fichier sur Odoo.sh / runbot).
Activez le mode développeur, ouvrez les applications, cliquez sur Mettre à jour la liste des applications, recherchez Advanced Import / Export Templating et appuyez sur Installer.
Ouvrez le nouveau menu, collez votre clé de licence ECOSIRE, connectez toutes les informations d'identification externes (Shopify, Amazon, Stripe, etc.) et enregistrez.
Exécutez le test de connexion intégré, synchronisez vos 10 premiers enregistrements et planifiez le cron récurrent. Contactez le support si quelque chose échoue.
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Odoo natif |
|---|---|---|---|---|
| Saved, reusable mappings | Named import/export templates stored as records, reused and versioned | Possible, but hand-built to your spec and maintained by you | Some offer saved profiles, often limited to fixed models | |
| Per-column transforms | Declarative catalog (trim, case, date-format, value maps) + Python hook | Whatever you code; effort scales per transform | Basic or none; rarely extensible | |
| Validation & error reporting | Dry-run pass with downloadable per-row error report | Only if you build it | Row-level errors sometimes, quality varies | |
| Scheduled recurring loads | `ir.cron`-driven imports/exports with per-run logging | Buildable with extra cron/queue work | Occasionally, usually export-only | |
| Custom & related models | Any registry model, dot-notation + external-ID resolution | Yes, per-model coding effort | Often restricted to standard models | |
| Fit to your Odoo version/edition | Built for your exact 17/18/19 + Community/Enterprise | Fully bespoke to your stack | Generic build, may lag versions | |
| Delivery model | Build-to-order, 2-4 weeks, UAT + rollback + training | Weeks-to-months, you own scoping and QA | Instant download, no fit guarantee | |
| Support & handover | Post-go-live window + Git repo + docs + training | Internal or contractor-dependent | Vendor ticket queue, generic |
No — this is a build-to-order module, not an off-the-shelf apps.odoo.com download. After a short scoping call we build it against your exact Odoo version, edition and target models. Typical delivery is 2-4 weeks from confirmed scope, depending on how many models and transforms your data needs.
We build and test against Odoo 17.0, 18.0 and 19.0, on both Community and Enterprise. During scoping we flag any Enterprise-only fields or Studio-created models that affect your mappings so nothing surprises you at go-live.
Native import is stateless: you rebuild the mapping every file, get no saved templates, no per-column transforms, no scheduling, and a single terse error instead of per-row diagnostics. This module stores named import/export templates, adds declarative transforms, runs a dry-run validation pass with a downloadable error-row report, and supports recurring scheduled loads and XML-RPC triggering.
Validation runs as a dry-run first pass. Every row is checked against field types, required fields and selection domains before anything commits, and failures are collected into a report showing row number, column, value and reason. With batch commits and savepoints you can choose to load the good rows and re-fix only the failed ones.
Yes. Mappings target any model in the registry, including your own addons. Related fields resolve via dot-notation (e.g. `partner_id/name`) and external-ID / XML-ID lookups, so links to existing records connect correctly instead of failing silently.
Yes. Templates run on a schedule via `ir.cron` / automated actions with per-run logging, and they are fully callable over XML-RPC / JSON-RPC, so an external ETL pipeline or another system can trigger a validated load programmatically.
Every build includes a post-go-live support window for defect fixes and mapping adjustments, plus a Git repository handover with full history. Beyond the initial window we offer ongoing support and version-upgrade work (for example moving the module to a newer Odoo release) as a maintenance arrangement.
Save reusable, named import and export templates that map spreadsheet columns to any Odoo model's fields, run validation with error-row reporting, and schedule recurring loads. Built to order and supported by ECOSIRE for Odoo 17, 18, and 19.