ERP migration
Field-level mapping, validation, and rollback between Marg ERP and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
Marg ERP
Source
Dolibarr ERP
Destination
Compatibility
9 of 12
objects map 1:1 between Marg ERP and Dolibarr ERP.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Marg ERP to Dolibarr is a schema translation across fundamentally different architectures. Marg uses a vertical, India-specific data model with parties as ledger accounts, vouchers as line-item transactions, and Godowns as the multi-location stock entity; Dolibarr uses a modular, European-convention data model with third parties (suppliers/customers), invoices/orders, and warehouses. We resolve every entity mapping before migration, carry Marg's line-level GST rate codes into Dolibarr's tax rate configuration, and preserve batch number and expiry date as Dolibarr lot-number attributes. Marg has no REST API, so every migration begins with its A/c & Inventory Export utility and a custom parser built from the customer's actual XLS output. Dolibarr does not natively support Indian e-invoicing, e-waybill, or ABN billing; we flag these as manual rebuild scope and deliver a written inventory of every Marg voucher flagged for e-invoice or e-waybill generation so the customer's admin can configure the replacement before go-live.
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 Marg ERP object lands in Dolibarr ERP, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Marg ERP
Item
Dolibarr ERP
Product (llx_product)
1:1Marg Items carry MRP, HSN/SAC codes, batch tracking flags, multi-unit-of-measure, and salt names (for pharma). We map Marg Item fields to Dolibarr Product: description from Marg item name, HSN/SAC to the ref field or a custom pLabel field, and MRP to a custom numeric field. Multi-unit-of-measure from Marg (boxes, strips, pieces) maps to Dolibarr's unit-of-measure array if the Dolibarr product is configured with the multiprice module activated. Batch tracking in Marg becomes Dolibarr lot-number ProductLot entries linked to stock. Salt names and pharma-specific attributes migrate as custom fields on the Dolibarr Product.
Marg ERP
Party (Ledger Account)
Dolibarr ERP
Third Party (llx_societe)
1:1Marg Parties are ledger accounts with GSTIN, PAN, credit limits, payment terms, and opening balances. We map Marg Party to Dolibarr Third Party: the party name becomes the label (s.label), GSTIN maps to a custom field (t.siren for the GSTIN number stored in Dolibarr's third-party custom structure), and PAN maps to a separate custom field. Credit limit from Marg maps to Dolibarr's credit limit if the limit module is activated. Party type (customer, supplier, both) determines the Dolibarr prospect/stype value. Opening balances are preserved as Dolibarr outstanding amounts tracked at the third-party level; the actual accounting balance maps to Dolibarr's account receivable or payable account in the accounting module.
Marg ERP
Voucher (Sales Invoice, Purchase Bill, Credit Note, Debit Note)
Dolibarr ERP
Invoice or Order (llx_facture, llx_commande)
1:1Marg vouchers store line-item transactions with per-line GST rate, quantity, rate, and amount. We map Marg Sales Voucher to Dolibarr Customer Invoice (facture), Purchase Voucher to Dolibarr Supplier Invoice, and Marg Credit/Debit Notes to Dolibarr Credit Notes. Each line item maps to llx_facturedet: product reference, quantity, unit price, and tax amount. The GST rate (CGST+SGST or IGST) from Marg's line level is preserved as a Dolibarr tax rate (taux) configured before import. Marg's e-invoice and e-waybill flags on vouchers are noted as a rebuild requirement: Dolibarr has no native Indian e-invoicing module; these must be configured via a third-party Indian compliance module or external service after migration.
Marg ERP
Godown (Stock Location)
Dolibarr ERP
Warehouse (llx_entrepot)
1:1Marg Godowns represent physical stock locations (stores, warehouses, distribution points). We map each Marg Godown to a Dolibarr Warehouse (entrepot). The Godown name becomes the warehouse label and the address maps to the warehouse address fields. Inter-Godown stock balances migrate as Dolibarr stock level entries (llx_product_stock) per warehouse. If Marg tracks sub-Godown bins or racks, these map to Dolibarr warehouse locations if the advanced warehouse module is activated; otherwise they are documented as a note for manual configuration.
Marg ERP
Batch and Expiry Tracking
Dolibarr ERP
Product Lot (llx_product_lot)
1:1Marg stores batch number and expiry date at the voucher line and stock movement level for pharma compliance. We map these to Dolibarr Product Lot records (llx_product_lot): batch number becomes lot_num, expiry date becomes dlc (date limit of consumption) in Dolibarr's lot tracking schema. Each Product Lot is linked to the Product (llx_product) and to stock movements (llx_stock_mouvement) that carry the quantity from Marg's stock voucher lines. Dolibarr does not enforce expiry date validation at the point of sale by default; we note this as a configuration recommendation for the customer's admin to activate if regulatory compliance requires it.
Marg ERP
Fixed Asset Register
Dolibarr ERP
Asset (llx_asset)
1:1Marg maintains an asset register with original cost, accumulated depreciation, net book value, and useful life under Indian Schedule XIV conventions (straight-line and written-down-value methods). We map Marg Fixed Assets to Dolibarr Asset records: original cost migrates as asset's purchase or original value, accumulated depreciation as cumulative depreciation, and net book value as the current net book value. Marg's Schedule XIV depreciation rate and method (SLM or WDV) are preserved as custom fields on the Dolibarr Asset. Note that Dolibarr's accounting module depreciation schedule follows different conventions; the first year's depreciation charge may differ from Marg's output and should be reviewed by the customer's accountant before go-live.
Marg ERP
Chart of Accounts
Dolibarr ERP
Account (llx_accounting_account)
1:1Marg's ledger hierarchy includes Indian statutory accounts for GST input, GST output, TCS receivable, TDS payable, and composition-tier party controls. We map these to Dolibarr accounting account records (llx_accounting_account): account number, label, parent account, and account type (customer, supplier, asset, liability, expense, income). GST input/output accounts map to Dolibarr VAT accounts with the corresponding taux value. TCS and TDS statutory accounts map as tax-related accounts. Marg's opening balances on ledger accounts migrate as Dolibarr accounting entry lines (llx_accounting_accounting_date) in the opening period entry.
Marg ERP
Bank and Cash Account
Dolibarr ERP
Bank Account (llx_bank)
1:1Marg integrates with ICICI Bank for auto-ledger entries and reconciliation and tracks cash account balances across Godowns. We map Marg bank accounts to Dolibarr Bank records (llx_bank): bank name, account number, and current balance. Marg's cheque register and bank reconciliation statements (with cleared versus outstanding cheques) map to Dolibarr bank statement lines if the customer activates the bank statement import module. ICICI-specific auto-ledger features do not have a Dolibarr equivalent; these require manual reconfiguration with the customer's bank.
Marg ERP
GST Rate Configuration
Dolibarr ERP
Tax (llx_c_tva)
lossyMarg stores GST rate (CGST+SGST or IGST) at the voucher line level, not at the party or item level. A party's GSTIN composition status can change mid-period, making line-level rate extraction critical. We extract every distinct GST rate encountered across all voucher lines and build a Dolibarr tax rate table (llx_c_tva): each rate (5%, 12%, 18%, 28% CGST+SGST or IGST equivalent) becomes a Dolibarr TVA record with the applicable nature (TVA: VAT on sales, RH: VAT on purchases). The mapping table is delivered as a reference document for the customer's admin to validate against current GST rate notifications before activating the accounting module.
Marg ERP
e-Invoice and e-Waybill Voucher Flags
Dolibarr ERP
(no equivalent - rebuild scope)
1:1Marg natively generates e-invoices (IRN) and e-waybills through its GSTN-integrated billing workflow. Dolibarr has no native Indian e-invoicing or e-waybill generation module. We extract every Marg voucher flagged with e-invoice or e-waybill status and deliver a written inventory listing the voucher number, date, IRN (if present), and e-waybill number. The customer's admin uses this inventory to re-generate or obtain fresh IRNs through a registered e-invoicing middleware before issuing any replaced invoices in Dolibarr. This is a rebuild requirement, not a data migration.
Marg ERP
Stock Opening Balance
Dolibarr ERP
Stock Movement (llx_stock_mouvement)
lossyMarg stores opening stock quantities and values per Item per Godown. We map these to Dolibarr stock movement entries (llx_stock_mouvement) with movement type = 1 (entrée) and origin = import. The stock value from Marg (typically at cost price or MRP) maps to the unit price on the Dolibarr movement. If Marg carries stock valuation data (FIFO, average cost, or standard cost), we preserve the valuation method as a custom field on the Product for reference. The customer's accountant should validate the opening stock value against the balance sheet before activating Dolibarr's accounting module.
Marg ERP
Custom Fields
Dolibarr ERP
Custom Fields (llx_extrafields)
lossyMarg does not expose a formal custom-field API. Any user-defined fields appear as extra columns in the export output with non-standard naming conventions. We identify all extra columns in the Marg export file during the parsing phase and map them to Dolibarr extra fields (llx_extrafields) on the relevant table (Product, ThirdParty, Invoice, etc.). Because Marg's custom field schema varies by customer and version, we cannot guarantee complete preservation; we document every extra field found and its mapped Dolibarr equivalent for the customer's review.
| Marg ERP | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Item | Product (llx_product)1:1 | Fully supported | |
| Party (Ledger Account) | Third Party (llx_societe)1:1 | Fully supported | |
| Voucher (Sales Invoice, Purchase Bill, Credit Note, Debit Note) | Invoice or Order (llx_facture, llx_commande)1:1 | Fully supported | |
| Godown (Stock Location) | Warehouse (llx_entrepot)1:1 | Fully supported | |
| Batch and Expiry Tracking | Product Lot (llx_product_lot)1:1 | Fully supported | |
| Fixed Asset Register | Asset (llx_asset)1:1 | Fully supported | |
| Chart of Accounts | Account (llx_accounting_account)1:1 | Mapping required | |
| Bank and Cash Account | Bank Account (llx_bank)1:1 | Fully supported | |
| GST Rate Configuration | Tax (llx_c_tva)lossy | Fully supported | |
| e-Invoice and e-Waybill Voucher Flags | (no equivalent - rebuild scope)1:1 | Fully supported | |
| Stock Opening Balance | Stock Movement (llx_stock_mouvement)lossy | Fully supported | |
| Custom Fields | Custom Fields (llx_extrafields)lossy | Not supported |
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.
Marg ERP gotchas
Marg-to-Marg native export is the only documented bulk data path
No public API means migration is always file-based
Cloud plan user-count and company-count gates are migration prerequisites
GST rate and composition tier are stored per transaction line, not per party
Marg's fixed-asset depreciation schedules use Indian Schedule XIV conventions
Dolibarr ERP gotchas
Foreign key constraint errors on cross-distribution database restore
SQL injection vulnerabilities in version 9.0.1
Custom fields stored as JSON in extraoptions require field-by-field deserialization
Decimal precision and rounding configuration affects price fields
No native iOS/Android app forces reliance on browser
Pair-specific challenges
Migration approach
Discovery and export format characterisation
We audit the source Marg environment: identify the active Marg version and edition (desktop or cloud), enumerate all companies and Godowns, and assess the volume of Items, Parties, Vouchers, and Fixed Assets. We request the customer's A/c & Inventory Export output and reverse-engineer its column layout to build a custom parser. We also extract any e-invoice and e-waybill register exports separately. The discovery output is a written scope document with record counts per entity, identified Godown-to-warehouse mappings, and a list of any vouchers flagged with Indian compliance status (e-invoice, e-waybill, composition).
Dolibarr target schema configuration
We configure the destination Dolibarr instance before any data import. This includes activating the required modules (Products, Third Parties, Invoices, Stock, Accounting, Lot numbers, Bank accounts), creating the GST tax rate table (llx_c_tva) from the extracted Marg rate data, configuring the chart of accounts (with Indian statutory accounts flagged for manual completion by the customer's accountant), setting up warehouses mapped from Marg Godowns, and creating any custom extra fields identified in the export parser. Dolibarr configuration is validated in a staging environment before production data is loaded.
Data extraction and transformation
We run the Marg A/c & Inventory Export for each active company and parse the output using the custom parser built during discovery. Items are extracted first (as the dependency root for stock and vouchers), followed by Parties, Godowns, Fixed Assets, Chart of Accounts, Bank accounts, Vouchers, and stock movements. Each entity is transformed into a Dolibarr-compatible import format (CSV for Dolibarr's native import tool, or direct SQL insert for complex relationships). Marg's line-level GST rates are extracted and deduplicated into the Dolibarr TVA rate table. Batch and expiry data from voucher lines are aggregated into Product Lot entries per Item.
Staging migration and reconciliation
We load the transformed data into the Dolibarr staging instance in record-dependency order: warehouses first, then products, then third parties, then invoices, then stock movements, then assets, then accounting entries. We run a row-count reconciliation against the Marg source for each entity and spot-check twenty to thirty records per entity type for field-level accuracy. The customer reviews the staging output and signs off before production migration. Any mapping corrections, missing fields, or data quality issues (duplicate parties, invalid GSTINs, missing HSN codes) are resolved at this stage.
Production migration and delta re-export
We schedule a 24-hour write-freeze on Marg and run a delta export capturing any new or modified records created after the initial export. Production migration runs in the same dependency order as staging: warehouses, products, third parties, invoices, stock, assets, accounting. Each phase emits a reconciliation report before the next phase begins. After the main load completes, we replay the delta export records into the production Dolibarr instance. Marg's e-invoice and e-waybill voucher inventory is delivered as a separate handoff document. Godown balances are verified against Marg's stock ledger before the system is declared live.
Cutover, validation, and e-invoicing rebuild handoff
We enable Dolibarr as the system of record and support a one-week hypercare window to resolve any record-reconciliation issues. We deliver the written e-invoicing and e-waybill inventory to the customer's admin with instructions for regenerating IRNs through a registered middleware. Dolibarr does not natively support Indian GST e-invoicing, e-waybill, or ABN billing; the customer's admin must configure a third-party Indian compliance module or external service before issuing any replaced invoices. We do not rebuild Marg automations or workflows in Dolibarr; those are documented as a separate rebuild scope delivered in the automation inventory.
Platform deep dives
Marg ERP
Source
Strengths
Weaknesses
Dolibarr 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 Marg ERP and Dolibarr 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
Marg ERP: Not publicly documented.
Data volume sensitivity
Marg ERP 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 Marg ERP to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your Marg ERP to Dolibarr 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 Marg ERP
Other ways to arrive at Dolibarr 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.