ERP migration
Field-level mapping, validation, and rollback between Runple and Odoo ERP. We move data and schema; workflows are rebuilt natively in Odoo ERP.
Runple
Source
Odoo ERP
Destination
Compatibility
6 of 10
objects map 1:1 between Runple and Odoo ERP.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Runple to Odoo ERP is a structural migration that requires resolving Runple's unified accounting model into Odoo's modular app structure. Runple stores Customers, Products, Invoices, Payments, Stock movements, and Chart of Accounts entries in a consolidated ledger; Odoo separates Accounting, Inventory, Sales, and Purchase into distinct applications that must be linked via partner_ids, product_ids, and analytic accounts. We extract transactional history, item-level inventory counts, and open AP/AR aging buckets during scoping, then map them to the corresponding Odoo modules. Runple's lack of public API documentation means data extraction relies on CSV export or negotiated structured data dumps, which we chunk and validate before mapping. EU VAT codes require manual compliance review against Odoo's tax configuration. Workflows, automations, and user permissions do not migrate as code; we deliver a written inventory for your admin to rebuild.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Runple object lands in Odoo ERP, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Runple
Customer
Odoo ERP
Contact (res.partner)
1:1Runple Customer records map to Odoo res.partner with partner_type=contact. We extract name, email, phone, street address, VAT number, and tax identification fields, preserving them in Odoo's partner fields. Runple's custom tax code properties map to Odoo's fiscal_position rules if the customer has multi-country invoicing. Country-specific address formats (Austrian postal codes, German street conventions) are preserved as freeform text during migration.
Runple
Product
Odoo ERP
Product Template (product.product)
1:1Runple Products (SKU, name, description, unit price, cost) map to Odoo product.template with product_type=product or product_type=service. Runple's item-level stock tracking maps to Odoo's product qty_on_hand via stock.quant records. We preserve the original SKU in product.default_code and map Runple's cost field to Odoo's standard_price for margin reporting. Products without stock tracking in Runple map as consumable or service products.
Runple
Invoice
Odoo ERP
Account Move (account.move)
1:1Runple Invoices (line items, tax codes, totals, currency, payment status) map to Odoo account.move with move_type=out_invoice or in_invoice. The Runple invoice number sequence maps to Odoo's name sequence field. Tax codes are mapped to Odoo account.tax records; if no matching Odoo tax exists, we flag it for the customer's admin to configure before import. Paid invoices migrate as posted moves; unpaid invoices migrate as draft moves with open journal items.
Runple
Payment
Odoo ERP
Account Payment (account.payment)
1:1Runple Payments linked to invoices map to Odoo account.payment records with payment_method_line matched to the invoice's journal. We resolve the partner_id from the invoice mapping and preserve payment date, amount, and method (bank transfer, credit card, cash). Standalone payments without invoice links migrate as miscellaneous payments against the appropriate bank or cash account.
Runple
Open AP/AR
Odoo ERP
Account Move Line (account.move.line) with open state
1:1Outstanding payables and receivables require careful mapping of aging buckets, due dates, and residual amounts. We extract current open items from Runple and map them to Odoo account.move.line records in draft state. The reconciliation is handled post-migration by Odoo's auto-reconciliation wizard or manual reconciliation view. Any historical aging data is preserved in a note field for audit.
Runple
Stock/Inventory
Odoo ERP
Stock Quant (stock.quant) and Stock Move (stock.move)
lossyRunple stock levels map to Odoo stock.quant with location_id resolved to the default warehouse's stock location. Stock movement history maps to stock.move records with reference back to the source Runple transaction ID. If Runple used multiple warehouse locations, we create corresponding Odoo stock.location records and map inventory levels accordingly. Runple's warehouse assignments that do not have a direct Odoo equivalent are flagged for the customer's admin to configure post-migration.
Runple
VAT/Tax Codes
Odoo ERP
Account Tax (account.tax)
lossyRunple's EU VAT-compliant tax codes require manual mapping to Odoo's account.tax records because Odoo uses country-specific chart of accounts with built-in tax templates. We extract the Runple tax code list during scoping and deliver a mapping table for the customer's admin to configure Odoo taxes before invoice import begins. Reverse-charge rules and intra-EU VAT handling require separate Odoo fiscal position configuration.
Runple
Users and Roles
Odoo ERP
Res Users (res.users)
1:1Runple user accounts with roles and permissions must be remapped to Odoo's access rights model. We extract Runple role assignments and map them to Odoo access groups (res.groups) during scoping. Odoo's granular group-based permissions (Sales Manager, Account User, Inventory User, etc.) require the customer's admin to assign groups post-migration; we cannot infer the appropriate Odoo permission set from Runple's internal role model without a role inventory from the customer.
Runple
Commission Records
Odoo ERP
Custom Fields on Account Move (account.move) or Note
lossyCommission data stored as HR-adjacent records in Runple require field-level mapping because Odoo accounting does not have a native commission tracking object. We map commission amounts to custom decimal fields on account.move.line or store them as internal notes on the related invoice. The customer chooses the approach during scoping based on whether commission reporting requires native Odoo views.
Runple
Working Time Records
Odoo ERP
Note (res.note) or timesheet if Odoo Timesheet app is active
lossyTime tracking data from Runple (hours, dates, employee assignments) is mapped to a custom timesheet model or stored as notes if the Odoo Timesheet app is not included in the destination configuration. We extract the data and present both options to the customer during scoping; the choice depends on whether the customer's admin activates the Odoo Timesheet module post-migration.
| Runple | Odoo ERP | Compatibility | |
|---|---|---|---|
| Customer | Contact (res.partner)1:1 | Fully supported | |
| Product | Product Template (product.product)1:1 | Fully supported | |
| Invoice | Account Move (account.move)1:1 | Fully supported | |
| Payment | Account Payment (account.payment)1:1 | Fully supported | |
| Open AP/AR | Account Move Line (account.move.line) with open state1:1 | Mapping required | |
| Stock/Inventory | Stock Quant (stock.quant) and Stock Move (stock.move)lossy | Fully supported | |
| VAT/Tax Codes | Account Tax (account.tax)lossy | Mapping required | |
| Users and Roles | Res Users (res.users)1:1 | Mapping required | |
| Commission Records | Custom Fields on Account Move (account.move) or Notelossy | Fully supported | |
| Working Time Records | Note (res.note) or timesheet if Odoo Timesheet app is activelossy | Mapping required |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Runple gotchas
Premium pricing tiers are not publicly documented
Limited public API documentation restricts migration scripting
Performance degrades under heavy transactional load
German-language interface and EU-specific features may not map to non-EU destination systems
Odoo ERP gotchas
No rollback for CSV imports
External ID conflicts on re-import
Many2many field encoding in CSV imports
Large export timeouts require batching
Version schema drift between Odoo releases
Pair-specific challenges
Migration approach
Discovery and export method confirmation
We audit the Runple account to identify all active modules (accounting, inventory, POS, e-commerce), record volumes per object type, and custom property fields. We confirm the export method: CSV export via Runple's interface where available, or a structured data dump negotiated with the Runple account manager. We assess data quality (duplicate records, outdated addresses, missing contact fields) and document cleanup requirements before extraction begins.
Odoo edition selection and module activation
We recommend an Odoo edition based on the customer's scope: Odoo Online or Community for businesses using one to three modules without complex integrations; Odoo Enterprise for businesses requiring the Studio customization tool, API access tiers, or dedicated support. We confirm which Odoo apps (Accounting, Inventory, Sales, Purchase, HR) are activated in the destination database before schema design begins.
Schema design and tax configuration planning
We design the Odoo destination schema: chart of accounts selected from Odoo's country-specific templates (Austria, Germany, or generic EU), account.tax records mapped from the Runple tax code inventory (delivered as a configuration checklist), warehouse and location structure for inventory, and partner categories for customer segmentation. We pre-create any custom fields required for Runple custom properties before data import.
Data extraction, validation, and staging migration
We extract data from Runple in CSV format or structured dump, clean duplicates and outdated records, validate field formats (VAT numbers, email addresses, postal codes), and load into an Odoo staging database. We run reconciliation against Runple record counts to confirm no data loss. The customer's finance team spot-checks invoice totals and open AP/AR aging against Runple reports before production migration proceeds.
Production migration in dependency order
We run production migration in record-dependency order: res.partner (Customers/Suppliers), product.template (Products), account.journal (Bank/Cash accounts from Runple's payment methods), account.move (Invoices with tax mapping resolved), account.payment (Payments linked to moves), stock.location and stock.quant (Warehouse and Inventory), then stock.move (Movement history). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation rebuild handoff
We freeze Runple writes during cutover, run a final delta migration of any records created or modified during the migration window, then hand off to the customer's admin team. We deliver a written inventory of Runple automations, user roles, and custom properties requiring rebuild in Odoo. We do not rebuild Runple workflows or automations as Odoo server actions inside the migration scope; that work is a separate engagement or an internal admin task.
Platform deep dives
Runple
Source
Strengths
Weaknesses
Odoo ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Runple and Odoo ERP.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Runple: Not publicly documented.
Data volume sensitivity
Runple doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Runple to Odoo ERP migration scoping. Not seeing yours? Book a call.
Walk through your Runple to Odoo ERP migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Runple
Other ways to arrive at Odoo ERP
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.