Knowledge BaseConnectorsNetSuite GL, AR, and AP Data Model
Updated 2026-04-12

NetSuite GL, AR, and AP Data Model

Data model guide for GL journal entries, AR invoices, AP bills, trial balance extraction, and multi-subsidiary handling.

Overview

VersionForge extracts three primary financial data streams from NetSuite: General Ledger journal entries, Accounts Receivable invoices, and Accounts Payable bills. Each of these flows through the same transaction / transactionline join in SuiteQL, differentiated by transaction type. This guide explains the data model, how VersionForge maps fields to planning dimensions, and how multi-subsidiary environments are handled.

GL Journal Entries

GL data is the backbone of most FP&A integrations. VersionForge extracts journal entry lines with full dimensional tagging:

| NetSuite Field | VersionForge Field | Description | |---|---|---| | t.tranid | transaction_id | NetSuite document number | | t.trandate | posting_date | Date the transaction was posted | | t.postingperiod | period_id | Links to the accounting period dimension | | tl.account | account_id | GL account (links to account dimension) | | tl.debitamount | debit | Debit amount in transaction currency | | tl.creditamount | credit | Credit amount in transaction currency | | tl.amount | net_amount | Signed net amount (positive = debit) | | tl.subsidiary | subsidiary_id | Entity/subsidiary dimension | | tl.department | department_id | Department segment | | tl.location | location_id | Location segment | | tl.class | class_id | Class/business unit segment |

Transaction types extracted for GL include Journal, Deposit, Transfer, and any custom transaction types you configure.

AR Invoices

Accounts Receivable extraction uses the same transaction/transactionline join, filtered to invoice types:

  • CustInvc -- Customer Invoices
  • CustCred -- Credit Memos
  • CustPymt -- Customer Payments

AR data is useful for revenue recognition pipelines and cash flow forecasting in your planning model. Each invoice line carries the same dimensional tagging (account, subsidiary, department, location, class) as GL entries.

AP Bills

Accounts Payable extraction covers vendor-side transactions:

  • VendBill -- Vendor Bills
  • VendCred -- Vendor Credits
  • VendPymt -- Vendor Payments

AP data feeds expense forecasting and working capital models in your planning target. You can filter to specific vendor bill types or include all AP transaction types.

Trial Balance Extraction

For planning tools that expect period-level balances rather than individual journal lines, VersionForge can aggregate GL data into trial balance format during the transform step. The trial balance groups by:

  • Accounting period
  • Account
  • Subsidiary
  • Department (optional)
  • Location (optional)
  • Class (optional)

The result is a single row per dimension combination per period, with summed debit, credit, and net balance columns.

Trial balance aggregation happens in the VersionForge transform layer, not in SuiteQL. This lets you extract at the journal line level for auditability while pushing summarized data to your planning target.

Period Filtering

Every transaction extraction accepts period filters to control the date range. VersionForge supports two filtering approaches:

Incremental extraction uses lastmodifieddate to pull only transactions that changed since the last sync. This is the default for recurring syncs and keeps extraction volumes low.

Full-period extraction uses trandate ranges to pull all transactions within specific accounting periods. This is used for initial loads, period-close reconciliation, and the GL History Loader.

{
  "filters": {
    "since": "2026-01-01T00:00:00Z",
    "transactionTypes": ["Journal", "VendBill", "CustInvc"]
  }
}

Multi-Subsidiary Handling

NetSuite OneWorld accounts contain multiple subsidiaries organized in a parent-child hierarchy. VersionForge handles multi-subsidiary extraction in two ways:

Per-Subsidiary Chunking

For large multi-subsidiary environments, VersionForge extracts data one subsidiary at a time. Each chunk applies a tl.subsidiary = '{id}' filter to the SuiteQL query. This approach keeps individual query result sets manageable and allows parallel extraction across subsidiaries.

Elimination Subsidiaries

VersionForge automatically detects and skips elimination subsidiaries (where iselimination = true) during extraction. Elimination entries are intercompany adjustments that should not flow into external planning models. If you need elimination data, you can override this behavior in the sync profile configuration.

Subsidiary Hierarchy

The subsidiary dimension query captures the full parent-child hierarchy, including currency assignments. VersionForge uses this hierarchy to:

  • Roll up child subsidiary data to parent entities in the planning model
  • Apply correct currency context for multi-currency consolidation
  • Validate that extracted transaction data covers all active subsidiaries

If you add a new subsidiary in NetSuite, run a full dimension sync before your next transaction extraction. Otherwise, transaction lines tagged to the new subsidiary may fail dimension validation in your planning target.

Built by Vantage Advisory

VersionForge is built by the team at Vantage Advisory Group — consultants who have spent years implementing Workday, NetSuite, Stripe, Salesforce, Adaptive, and Pigment integrations for finance, RevOps, and workforce-planning teams. We built the product we kept wishing existed.

See It Running on Your Own Data in 30 Minutes

Book a walkthrough with the founding team. Bring your messiest data pipeline — GL close, MRR reconciliation, or headcount plan. We'll show you how VersionForge handles it.