Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ERP Output Formats

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.

Overview

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 SystemExporterTables
SAP S/4HANASapExporterBKPF, BSEG, ACDOCA, LFA1, KNA1, MARA, CSKS, CEPC
Oracle EBSOracleExporterGL_JE_HEADERS, GL_JE_LINES, GL_JE_BATCHES
NetSuiteNetSuiteExporterJournal entries with subsidiary, multi-book, custom fields

SAP S/4HANA

Supported Tables

TableDescriptionSource Data
BKPFDocument HeaderJournal entry headers
BSEGDocument Line ItemsJournal entry line items
ACDOCAUniversal JournalFull ACDOCA event records
LFA1Vendor MasterVendor records
KNA1Customer MasterCustomer records
MARAMaterial MasterMaterial records
CSKSCost Center MasterCost center assignments
CEPCProfit Center MasterProfit center assignments

BKPF Fields (Document Header)

SAP FieldDescriptionExample
MANDTClient100
BUKRSCompany Code1000
BELNRDocument Number0100000001
GJAHRFiscal Year2024
BLARTDocument TypeSA (G/L posting)
BLDATDocument Date2024-01-15
BUDATPosting Date2024-01-15
MONATFiscal Period1
CPUDTEntry Date2024-01-15
CPUTMEntry Time10:30:00
USNAMUser NameJSMITH

BSEG Fields (Line Items)

SAP FieldDescriptionExample
MANDTClient100
BUKRSCompany Code1000
BELNRDocument Number0100000001
GJAHRFiscal Year2024
BUZEILine Item001
BSCHLPosting Key40 (debit) / 50 (credit)
HKONTGL Account1100
DMBTRAmount in Local Currency1000.00
WRBTRAmount in Doc Currency1000.00
KOSTLCost CenterCC100
PRCTRProfit CenterPC100

ACDOCA Fields (Universal Journal)

The ACDOCA format includes all standard SAP Universal Journal fields plus simulation metadata:

FieldDescription
RCLNTClient
RLDNRLedger
RBUKRSCompany Code
GJAHRFiscal Year
BELNRDocument Number
DOCLNLine Item
POPERPosting Period
RACCTAccount
DRCRKDebit/Credit Indicator
HSLAmount in Local Currency
ZSIM_*Simulation metadata fields

Configuration

output:
  format: sap
  sap:
    tables:
      - bkpf
      - bseg
      - acdoca
      - lfa1
      - kna1
      - mara
    client: "100"
    ledger: "0L"

Oracle EBS

Supported Tables

TableDescriptionSource Data
GL_JE_HEADERSJournal Entry HeadersJournal entry headers
GL_JE_LINESJournal Entry LinesJournal entry line items
GL_JE_BATCHESJournal Entry BatchesBatch groupings

GL_JE_HEADERS Fields

Oracle FieldDescriptionExample
JE_HEADER_IDUnique Header ID10001
LEDGER_IDLedger ID1
JE_BATCH_IDBatch ID5001
PERIOD_NAMEPeriod NameJAN-24
NAMEJournal NameManual Entry 001
JE_CATEGORYCategoryMANUAL, ADJUSTMENT, PAYABLES
JE_SOURCESourceMANUAL, PAYABLES, RECEIVABLES
CURRENCY_CODECurrencyUSD
ACTUAL_FLAGTypeA (Actual), B (Budget), E (Encumbrance)
STATUSStatusP (Posted), U (Unposted)
DEFAULT_EFFECTIVE_DATEEffective Date2024-01-15
RUNNING_TOTAL_DRTotal Debits10000.00
RUNNING_TOTAL_CRTotal Credits10000.00
PARENT_JE_HEADER_IDParent (for reversals)null
ACCRUAL_REV_FLAGReversal FlagY / N

GL_JE_LINES Fields

Oracle FieldDescriptionExample
JE_HEADER_IDHeader Reference10001
JE_LINE_NUMLine Number1
CODE_COMBINATION_IDAccount Combo ID10110
ENTERED_DREntered Debit1000.00
ENTERED_CREntered Credit0.00
ACCOUNTED_DRAccounted Debit1000.00
ACCOUNTED_CRAccounted Credit0.00
DESCRIPTIONLine DescriptionCustomer payment
EFFECTIVE_DATEEffective Date2024-01-15

Configuration

output:
  format: oracle
  oracle:
    ledger_id: 1
    set_of_books_id: 1

NetSuite

Journal Entry Fields

NetSuite export includes support for subsidiaries, multi-book accounting, and custom fields:

NetSuite FieldDescriptionExample
INTERNAL_IDInternal ID50001
EXTERNAL_IDExternal ID (for import)DS-JE-001
TRAN_IDTransaction NumberJE00001
TRAN_DATETransaction Date2024-01-15
POSTING_PERIODPeriod IDJan 2024
SUBSIDIARYSubsidiary ID1
CURRENCYCurrency CodeUSD
EXCHANGE_RATEExchange Rate1.000000
MEMOMemoMonthly accrual
APPROVEDApproval Statustrue
REVERSAL_DATEReversal Date2024-02-01
DEPARTMENTDepartment ID100
CLASSClass ID1
LOCATIONLocation ID1
TOTAL_DEBITTotal Debits5000.00
TOTAL_CREDITTotal Credits5000.00

NetSuite Line Fields

FieldDescription
ACCOUNTAccount internal ID
DEBITDebit amount
CREDITCredit amount
MEMOLine memo
DEPARTMENTDepartment
CLASSClass segment
LOCATIONLocation segment
ENTITYCustomer/Vendor reference
CUSTOM_FIELDSAdditional custom field map

Configuration

output:
  format: netsuite
  netsuite:
    subsidiary_id: 1
    include_custom_fields: true

Usage Examples

SAP Load Testing

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"

Oracle EBS Migration Validation

Generate journal entries in Oracle EBS format for migration testing:

output:
  format: oracle
  oracle:
    ledger_id: 1

NetSuite Integration Testing

Generate multi-subsidiary data with custom fields:

output:
  format: netsuite
  netsuite:
    subsidiary_id: 1
    include_custom_fields: true

Output Files

FormatOutput Files
SAPsap_bkpf.csv, sap_bseg.csv, sap_acdoca.csv, sap_lfa1.csv, sap_kna1.csv, sap_mara.csv, sap_csks.csv, sap_cepc.csv
Oracleoracle_gl_je_headers.csv, oracle_gl_je_lines.csv, oracle_gl_je_batches.csv
NetSuitenetsuite_journal_entries.csv, netsuite_journal_lines.csv

See Also