ERP migration
Field-level mapping, validation, and rollback between ABRA Gen and Odoo ERP. We move data and schema; workflows are rebuilt natively in Odoo ERP.
ABRA Gen
Source
Odoo ERP
Destination
Compatibility
9 of 10
objects map 1:1 between ABRA Gen and Odoo ERP.
Complexity
BStandard
Timeline
2-4 weeks
Overview
ABRA Gen stores its core data across firmy, zakazky, sklady, vyrobky, ucetni, doklady, and uzivatele records in a proprietary on-premise database that has no publicly documented REST API. Migration requires direct SQL extraction coordinated with the customer's IT team. We map ABRA Gen's Czech accounting codes to Odoo's account structure, flatten multi-level BOMs into Odoo's product variants or phantom BoM logic, and preserve open and closed document positions with their original posting dates and fiscal year references. We do not migrate workflows, custom modules, or ABRA Gen-specific automations as code; we deliver a written inventory for the customer's team to rebuild in Odoo Workflow. Historical accounting records are extracted with jurisdiction-aware retention flags to satisfy Czech and Slovak tax law obligations.
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 ABRA Gen 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.
ABRA Gen
Firmy (Companies/Accounts)
Odoo ERP
Contact + Address
1:1ABRA Gen firmy records contain address, contact, financial classification, and ICO (company registration number). We map these to Odoo Contact records with the ICO stored in the Odoo partner vat field as the Czech business identifier. Multiple firmy addresses map to Contact addresses with address_type (invoice, delivery, contact) set per ABRA Gen's address role. Any custom firmy extensions discovered during database schema inspection are flagged and mapped manually.
ABRA Gen
Odberatele (Customers)
Odoo ERP
Contact (customer flag)
1:1Customer master records in ABRA Gen (odberatele) mirror firmy structure with billing and shipping specifics. We map to Odoo Contact with customer_rank set to 1 and any ABRA Gen-specific payment term codes mapped to Odoo property_payment_term_id on the partner. Customer-specific discount structures preserved as custom fields on the partner record.
ABRA Gen
Dodavatele (Vendors)
Odoo ERP
Contact (vendor flag)
1:1Vendor master records (dodavatele) map to Odoo Contact with supplier_rank set to 1. Banking details from ABRA Gen map to Odoo's bank accounts on the partner. Payment terms and vendor-specific conditions migrate to property_supplier_payment_term_id on the contact record. Vendor codes are preserved as the Odoo partner ref field.
ABRA Gen
Zakazky (Jobs/Contracts)
Odoo ERP
Project
1:1ABRA Gen zakazky capture project-level financial tracking, billing, and cost allocation across job hierarchies. We map zakazky to Odoo Project records, preserving the job code as project name prefix and original zakazka number in a custom reference field. Nested job hierarchies are mapped to Odoo sub-projects via parent_id. Project financial data (budget, actuals) is stored as custom fields since Odoo Project does not natively carry accounting balances.
ABRA Gen
Vyrobky (Products/Items)
Odoo ERP
Product + Product Variant
1:1Product master records in ABRA Gen (vyrobky) include pricing, unit-of-measure definitions, and BoM structures. We map products to Odoo Product (product.product or product.template depending on variant complexity). Pricing migrates to list_price and standard_price. ABRA Gen unit-of-measure codes map to Odoo's uom.uom records with category matching. Multi-level BoMs require flattening: we map each ABRA Gen production route to either an Odoo phantom BoM (for kit-style structures) or a single-level BoM with component links.
ABRA Gen
Sklady (Warehouses/Stock)
Odoo ERP
Stock Warehouse
1:1ABRA Gen sklady records store warehouse codes, locations, and stock quantities. We map each sklad to an Odoo Stock Warehouse with the warehouse code preserved in warehouse.short_name. Inventory valuation methods (FIFO, average, standard) from ABRA Gen map to Odoo's product category valuation configuration (manual, average, real-time). Serial and lot-controlled items preserve lot_number and expiration_date in Odoo stock.lot records.
ABRA Gen
Ucetni (Accounting Records)
Odoo ERP
Account.move (Journal Entries)
lossyCzech accounting journal entries in ABRA Gen use specific COA structures and tax codes under Czech and Slovak fiscal law. We map ABRA Gen account codes to Odoo account.account codes with Czech chart of accounts template (Účtová osnova) applied. Document-level detail and audit trails preserve posting dates, fiscal year references, and tax analysis codes. Closed fiscal years are migrated as locked account.move records to satisfy Czech 5-10 year retention obligations.
ABRA Gen
Doklady (Documents/Invoices)
Odoo ERP
Account.move (Vendor Bill / Customer Invoice)
1:1Sales invoices, purchase orders, and delivery notes are stored in ABRA Gen as doklady headers with line items. We map vendor bills to Odoo account.move with move_type=in_invoice and customer invoices to move_type=out_invoice. Line items map to account.move.line with account, debit/credit, and tax_ids resolved from the ABRA Gen doklady tax configuration. Open documents migrate with date and invoice_date preserved; closed documents migrate as locked entries. Documents with posting dates outside the migration window are flagged for customer review.
ABRA Gen
Zamestnanci (Employees)
Odoo ERP
hr.employee
1:1Employee records from ABRA Gen include employment status, department assignment, and contact data. We map these to Odoo hr.employee with department_id resolved via name matching against Odoo hr.department records created during migration. Employment start date and employee code migrate to Odoo employee fields. Any HR-specific ABRA Gen extensions (attendance, leave balances) are flagged for the customer's HR team to configure in Odoo HR module post-migration.
ABRA Gen
Uzivatele (Users)
Odoo ERP
res.users
1:1ABRA Gen user accounts, roles, and permission sets map to Odoo res.users with login, name, and active status preserved. Role names from ABRA Gen map to Odoo access groups (res.groups) by name matching. Inactive ABRA Gen users are imported as inactive Odoo users to preserve historical assignment data without granting active login access. The customer's Odoo administrator reviews and activates users post-migration.
| ABRA Gen | Odoo ERP | Compatibility | |
|---|---|---|---|
| Firmy (Companies/Accounts) | Contact + Address1:1 | Mapping required | |
| Odberatele (Customers) | Contact (customer flag)1:1 | Mapping required | |
| Dodavatele (Vendors) | Contact (vendor flag)1:1 | Mapping required | |
| Zakazky (Jobs/Contracts) | Project1:1 | Mapping required | |
| Vyrobky (Products/Items) | Product + Product Variant1:1 | Mapping required | |
| Sklady (Warehouses/Stock) | Stock Warehouse1:1 | Mapping required | |
| Ucetni (Accounting Records) | Account.move (Journal Entries)lossy | Mapping required | |
| Doklady (Documents/Invoices) | Account.move (Vendor Bill / Customer Invoice)1:1 | Mapping required | |
| Zamestnanci (Employees) | hr.employee1:1 | Mapping required | |
| Uzivatele (Users) | res.users1:1 | 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.
ABRA Gen gotchas
On-premise deployment requires direct database access
Custom modules and extensions lack standard documentation
Historical accounting data retention obligations vary by jurisdiction
No publicly documented REST API for ABRA Gen
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 data audit
We audit the ABRA Gen database schema to identify active modules (firmy, zakazky, sklady, vyrobky, ucetni, doklady, zamestnanci, uzivatele), active custom extensions, and historical periods required for retention. We coordinate with the customer's IT team to obtain read-only database credentials and run schema discovery queries. The output is a written migration scope covering record counts per object, identified custom tables, fiscal year boundaries, and a preliminary mapping matrix against Odoo's data model.
Schema design and Odoo configuration
We design the Odoo destination schema before any data moves. This includes activating and configuring Odoo apps (Contacts, Inventory, MRP, Accounting, HR), designing the Czech chart of accounts using Odoo's localization module, creating warehouse records mapped from ABRA Gen sklady, setting up product categories with valuation method configuration, and provisioning user accounts matched to ABRA Gen uzivatele. Any ABRA Gen custom tables are reviewed for manual mapping requirements and documented for the customer's team.
Database extraction and transformation
We extract data from ABRA Gen via SQL export scripts in dependency order: master data (contacts, vendors, products, warehouses) first, then transactional records (invoices, purchase orders, stock moves), then accounting journal entries. Each extract applies transformation logic: Czech COA codes map to Odoo account.account codes, ABRA Gen account codes map to Odoo account codes, multi-level BoM structures are flattened or converted to phantom BoM, and stock valuation methods are mapped to Odoo product category configuration. Custom fields from ABRA Gen are written as Odoo custom fields or stored in dedicated Odoo notes depending on field type compatibility.
Staging migration and reconciliation
We load extracted data into a staging Odoo environment (test database) via Odoo's XML-RPC API with batch processing and error logging. The customer's team reconciles record counts and spot-checks field-level accuracy across 25-50 sampled records per object. We validate that Odoo account.move records carry the correct fiscal year, that products carry BoM links where applicable, that warehouse stock quantities match pre-migration ABRA Gen reports, and that partner records carry correct ICO/vat values. Any mapping corrections are applied to the transformation scripts before production migration.
Production migration in dependency order
We execute production migration in record-dependency sequence: warehouse and location setup first, then contact/vendor masters (with ICO as dedupe key), then product masters with BoM resolution, then inventory stock quant records, then open and closed invoices and purchase orders, then accounting journal entries, then employee records, then user accounts. ABRA Gen is placed in read-only mode during cutover. Any records modified in ABRA Gen during the migration window are delta-migrated before Odoo is set as the system of record. Each phase emits a row-count reconciliation report.
Cutover, validation, and handoff
We perform a final reconciliation comparing Odoo record counts and summed financial totals against ABRA Gen pre-migration reports. Odoo is enabled as the system of record. We deliver the written inventory of any ABRA Gen custom modules or automations that require rebuild in Odoo (Odoo Workflow, Studio automations, or custom Python modules), along with a Czech/Slovak accounting retention schedule confirming which fiscal periods are migrated and archived. We provide a one-week hypercare window for reconciliation issues raised by the customer's team. We do not rebuild ABRA Gen workflows or custom modules as part of standard migration scope.
Platform deep dives
ABRA Gen
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 ABRA Gen 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
ABRA Gen: Not publicly documented.
Data volume sensitivity
ABRA Gen 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 ABRA Gen to Odoo ERP migration scoping. Not seeing yours? Book a call.
Walk through your ABRA Gen 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 ABRA Gen
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.