Use these data-model references to describe the records your connection needs. They are planning examples; connector availability and supported operations must be established before implementation.
Download the mapping worksheet · CSV, no email required
Customer identity
Customer / Contacts (res.partner)
Before linking NetSuite Customer to Odoo Contacts (res.partner), check whether the customer is an individual or a company. Match the correct record type in each system.
Planning example. Stacksync support for the required connection and record operations needs a technical review.
- NetSuite
- Documented record · Read: ✅ Supported. Write: ✅ Supported.
- Odoo
- Object support to establish
- Record identity
- Determine whether each customer represents an individual, a company, or a business-unit relationship before matching it to a contact or organization. Retain the source customer ID and destination ID; names and email alone are insufficient.
- Field ownership
- Separate the customer relationship from contact details, billing authority, and consent. Choose an owner for each field after identifying whether the customer is a person or company.
Fields to include
- Source customer ID
- Person/company classification
- Legal entity or business unit
- Destination identity reference
- Record dependencies
- Resolve person or company type, legal entity, business role, and any billing account before transactions.
- Validation
- Test an individual buyer, a company buyer, and one company with multiple billing relationships. Do not merge these into a single generic contact.
- Recovery
- Hold ambiguous customer matches for review and resolve customer type before retrying dependent records.
References: NetSuite: Customer documentation
Record matching
Invoice / Invoices (account.move)
Compare whether NetSuite Invoice and Odoo Invoices (account.move) describe the same customer invoice in your business.
Planning example. Stacksync support for the required connection and record operations needs a technical review.
- NetSuite
- Documented record · ✅ Supported
- Odoo
- Object support to establish
- Record identity
- Retain the invoice ID, issuer/legal entity, and original order reference; invoice numbers alone may overlap.
- Field ownership
- The financial system owns posting and accounting treatment. A posted invoice may need a credit or adjustment process instead of an overwrite.
Fields to include
- Source invoice ID
- Customer or supplier reference
- Line totals
- Currency
- Posting/payment status
- Record dependencies
- Resolve the customer or supplier, account codes, tax, currency, and accounting period before posting.
- Validation
- Test a posted invoice, a partial payment, tax rounding, and a closed accounting period. Compare financial totals within the same entity and currency.
- Recovery
- Determine whether a transaction posted before retrying. Follow the approved adjustment process for posted records.
References: NetSuite: Invoice documentation
Business process
Sales Order / Invoices (account.move)
Order-to-invoice handoff: NetSuite Sales Order provides context for Odoo Invoices (account.move). These are related records, not equivalent entities.
Planning example. Stacksync support for the required connection and record operations needs a technical review.
- NetSuite
- Documented record · ✅ Supported
- Odoo
- Object support to establish
- Record identity
- Link order and line IDs to invoice and line IDs; allow partial invoicing and multiple invoices per order.
- Field ownership
- Finance owns invoice posting; the order system supplies the approved commercial context.
Fields to include
- Source record reference
- Destination record reference
- Approved handoff state
- Duplicate-detection key
- Record dependencies
- Create or locate the customer and products first; resolve taxes, currency, and fulfillment references.
- Validation
- Test a partially invoiced order, tax rounding, and a repeated handoff without generating another invoice.
- Recovery
- Check for an existing destination order before retrying a timed-out create; reconcile line IDs to avoid duplicate fulfillment.
References: NetSuite: Sales Order documentation
Business process
Item Fulfillment / Sales Orders (sale.order)
Order-to-fulfillment handoff: Odoo Sales Orders (sale.order) provides context for NetSuite Item Fulfillment. These are related records, not equivalent entities.
Planning example. Stacksync support for the required connection and record operations needs a technical review.
- NetSuite
- Documented record · ✅ Supported
- Odoo
- Object support to establish
- Record identity
- Link the order and selected line IDs to separate fulfillment IDs; allow split shipments.
- Field ownership
- The fulfillment owner decides when an approved order can ship and how cancellations are handled.
Fields to include
- Source record reference
- Destination record reference
- Approved handoff state
- Duplicate-detection key
- Record dependencies
- Create or locate the customer and products first; resolve taxes, currency, and fulfillment references.
- Validation
- Test partial fulfillment, an out-of-stock line, and a repeated request that must not create a second shipment.
- Recovery
- Check for an existing destination order before retrying a timed-out create; reconcile line IDs to avoid duplicate fulfillment.
References: NetSuite: Item Fulfillment documentation
Record matching
Sales Order / Sales Orders (sale.order)
Compare whether NetSuite Sales Order and Odoo Sales Orders (sale.order) describe the same sales order in your business.
Planning example. Stacksync support for the required connection and record operations needs a technical review.
- NetSuite
- Documented record · ✅ Supported
- Odoo
- Object support to establish
- Record identity
- Preserve both the order ID and stable line IDs. Allow one order to relate to several shipments or invoices.
- Field ownership
- Decide which system approves the order and which can cancel or amend it after fulfillment begins.
Fields to include
- Source order ID
- Customer reference
- Line references and quantities
- Order status
- Currency
- Record dependencies
- Create or locate the customer and products first; resolve taxes, currency, and fulfillment references.
- Validation
- Test a multi-line order, a partial cancellation, and two partial shipments. Compare line totals as well as the header.
- Recovery
- Check for an existing destination order before retrying a timed-out create; reconcile line IDs to avoid duplicate fulfillment.
References: NetSuite: Sales Order documentation
Business process
Case / Projects and Tasks (project.project / project.task)
Support-to-work-item handoff: NetSuite Case provides context for Odoo Projects and Tasks (project.project / project.task). These are related records, not equivalent entities.
Planning example. Stacksync support for the required connection and record operations needs a technical review.
- NetSuite
- Documented record · Read: 🔓 Request Access. Write: 🔓 Request Access.
- Odoo
- Object support to establish
- Record identity
- Retain separate ticket and task IDs with an explicit relationship; several tasks may resolve one ticket.
- Field ownership
- Choose which ticket conditions create a work item and which task outcomes may update the support case.
Fields to include
- Source record reference
- Destination record reference
- Approved handoff state
- Duplicate-detection key
- Record dependencies
- Resolve requester, organization, team, and status references before ticket updates.
- Validation
- Escalate the same ticket twice, close one of several tasks, and verify that private ticket content is not copied into a public work item.
- Recovery
- Check whether a reply or notification was already sent before replaying ticket actions.
References: NetSuite: Case documentation