SyntheticData can export data in native ERP table formats, enabling direct load testing and integration validation against SAP S/4HANA, Oracle EBS, and NetSuite environments.
The datasynth-output crate provides three ERP-specific exporters alongside the standard CSV/JSON/Parquet sinks. Each exporter transforms the internal data model into the target ERP’s table schema with correct field names, data types, and referential integrity.
ERP System Exporter Tables
SAP S/4HANA SapExporterBKPF, BSEG, ACDOCA, LFA1, KNA1, MARA, CSKS, CEPC
Oracle EBS OracleExporterGL_JE_HEADERS, GL_JE_LINES, GL_JE_BATCHES
NetSuite NetSuiteExporterJournal entries with subsidiary, multi-book, custom fields
Table Description Source Data
BKPF Document Header Journal entry headers
BSEG Document Line Items Journal entry line items
ACDOCA Universal Journal Full ACDOCA event records
LFA1 Vendor Master Vendor records
KNA1 Customer Master Customer records
MARA Material Master Material records
CSKS Cost Center Master Cost center assignments
CEPC Profit Center Master Profit center assignments
SAP Field Description Example
MANDTClient 100
BUKRSCompany Code 1000
BELNRDocument Number 0100000001
GJAHRFiscal Year 2024
BLARTDocument Type SA (G/L posting)
BLDATDocument Date 2024-01-15
BUDATPosting Date 2024-01-15
MONATFiscal Period 1
CPUDTEntry Date 2024-01-15
CPUTMEntry Time 10:30:00
USNAMUser Name JSMITH
SAP Field Description Example
MANDTClient 100
BUKRSCompany Code 1000
BELNRDocument Number 0100000001
GJAHRFiscal Year 2024
BUZEILine Item 001
BSCHLPosting Key 40 (debit) / 50 (credit)
HKONTGL Account 1100
DMBTRAmount in Local Currency 1000.00
WRBTRAmount in Doc Currency 1000.00
KOSTLCost Center CC100
PRCTRProfit Center PC100
The ACDOCA format includes all standard SAP Universal Journal fields plus simulation metadata:
Field Description
RCLNTClient
RLDNRLedger
RBUKRSCompany Code
GJAHRFiscal Year
BELNRDocument Number
DOCLNLine Item
POPERPosting Period
RACCTAccount
DRCRKDebit/Credit Indicator
HSLAmount in Local Currency
ZSIM_*Simulation metadata fields
output:
format: sap
sap:
tables:
- bkpf
- bseg
- acdoca
- lfa1
- kna1
- mara
client: "100"
ledger: "0L"
Table Description Source Data
GL_JE_HEADERS Journal Entry Headers Journal entry headers
GL_JE_LINES Journal Entry Lines Journal entry line items
GL_JE_BATCHES Journal Entry Batches Batch groupings
Oracle Field Description Example
JE_HEADER_IDUnique Header ID 10001
LEDGER_IDLedger ID 1
JE_BATCH_IDBatch ID 5001
PERIOD_NAMEPeriod Name JAN-24
NAMEJournal Name Manual Entry 001
JE_CATEGORYCategory MANUAL, ADJUSTMENT, PAYABLES
JE_SOURCESource MANUAL, PAYABLES, RECEIVABLES
CURRENCY_CODECurrency USD
ACTUAL_FLAGType A (Actual), B (Budget), E (Encumbrance)
STATUSStatus P (Posted), U (Unposted)
DEFAULT_EFFECTIVE_DATEEffective Date 2024-01-15
RUNNING_TOTAL_DRTotal Debits 10000.00
RUNNING_TOTAL_CRTotal Credits 10000.00
PARENT_JE_HEADER_IDParent (for reversals) null
ACCRUAL_REV_FLAGReversal Flag Y / N
Oracle Field Description Example
JE_HEADER_IDHeader Reference 10001
JE_LINE_NUMLine Number 1
CODE_COMBINATION_IDAccount Combo ID 10110
ENTERED_DREntered Debit 1000.00
ENTERED_CREntered Credit 0.00
ACCOUNTED_DRAccounted Debit 1000.00
ACCOUNTED_CRAccounted Credit 0.00
DESCRIPTIONLine Description Customer payment
EFFECTIVE_DATEEffective Date 2024-01-15
output:
format: oracle
oracle:
ledger_id: 1
set_of_books_id: 1
NetSuite export includes support for subsidiaries, multi-book accounting, and custom fields:
NetSuite Field Description Example
INTERNAL_IDInternal ID 50001
EXTERNAL_IDExternal ID (for import) DS-JE-001
TRAN_IDTransaction Number JE00001
TRAN_DATETransaction Date 2024-01-15
POSTING_PERIODPeriod ID Jan 2024
SUBSIDIARYSubsidiary ID 1
CURRENCYCurrency Code USD
EXCHANGE_RATEExchange Rate 1.000000
MEMOMemo Monthly accrual
APPROVEDApproval Status true
REVERSAL_DATEReversal Date 2024-02-01
DEPARTMENTDepartment ID 100
CLASSClass ID 1
LOCATIONLocation ID 1
TOTAL_DEBITTotal Debits 5000.00
TOTAL_CREDITTotal Credits 5000.00
Field Description
ACCOUNTAccount internal ID
DEBITDebit amount
CREDITCredit amount
MEMOLine memo
DEPARTMENTDepartment
CLASSClass segment
LOCATIONLocation segment
ENTITYCustomer/Vendor reference
CUSTOM_FIELDSAdditional custom field map
output:
format: netsuite
netsuite:
subsidiary_id: 1
include_custom_fields: true
Generate data for SAP S/4HANA load testing with full table coverage:
global:
industry: manufacturing
start_date: 2024-01-01
period_months: 12
transactions:
target_count: 100000
output:
format: sap
sap:
tables: [bkpf, bseg, acdoca, lfa1, kna1, mara, csks, cepc]
client: "100"
Generate journal entries in Oracle EBS format for migration testing:
output:
format: oracle
oracle:
ledger_id: 1
Generate multi-subsidiary data with custom fields:
output:
format: netsuite
netsuite:
subsidiary_id: 1
include_custom_fields: true
Format Output Files
SAP sap_bkpf.csv, sap_bseg.csv, sap_acdoca.csv, sap_lfa1.csv, sap_kna1.csv, sap_mara.csv, sap_csks.csv, sap_cepc.csv
Oracle oracle_gl_je_headers.csv, oracle_gl_je_lines.csv, oracle_gl_je_batches.csv
NetSuite netsuite_journal_entries.csv, netsuite_journal_lines.csv