Migration Plan·Ingestion·Refactoring

BUSINESS CENTRAL MIGRATION

STATUS UPDATE

July 2026

Migration Plan·Ingestion·Refactoring

MIGRATION PLAN

✅ DONE
1 · DISCOVERY &
MAPPING
a) Audit dbt models
b) Map fields PM/JTL → BC
✅ DONE
2 · INGESTION
SETUP
dlt connector via REST API &
OData API → BC tables to raw
▶ NEXT
3 · DBT MODEL
REFACTORING
a) Brand/date logic in base?
b) Delete legacy columns
c) Update finance + inventory logic
UPCOMING
4 · TESTING,
VALIDATION &
GO-LIVE
Cross-validate vs PM, align Power BI,
cutover & monitor
🎯 GO-LIVE
SEP 1
Gemma Analytics | Natsana — Business Central Migration
Migration Plan·Ingestion·Refactoring

DLT CONNECTOR — BUSINESS CENTRAL

Two APIs work together to cover all required data:

REST API v2.0
Primary — steady-state incremental loads
  • OAuth2 client-credentials (Azure AD)
  • Incremental via lastModifiedDateTime
  • merge write disposition on id
  • Schema contract: data_type: freeze
RESOURCES

customers · items · item_variants · item_categories · sales_invoices (+ lines) · general_ledger_entries

OData API
Supplementary — published Web Services
  • Published by SUPER user via Web Services
  • Object Type: Page
  • Bigger pages, but no reliable incremental cursor
ENDPOINTS
Object ID Service Name
7005 PriceListLines
472 VATPostingSetup
5735 ItemReferenceList

All data lands in Snowflake · Incremental state managed by dlt · PII hashing available for customer fields

Gemma Analytics | Natsana — Business Central Migration
Migration Plan·Ingestion·Refactoring

STEP 3 — MODEL REFACTORING

According to the project plan, data should be finalized by mid-July. Two questions for Natsana:

❓ Do we expect many changes to master data / config before then?
❓ When are test transactions available in BC?

This matters because our 115 models split into two groups:

🟢 ~60 MODELS — START NOW
Only need master / config data (already loaded)
  • Phase 0: dim_products, dim_customers
  • Products (~23): ASINs, prices, BOMs, variation tags
  • Customers (~17): cohorts, contacts, order times
  • Amazon / Dims (~20): ASIN metrics, sales channels, countries, warehouses
🟡 ~55 MODELS — BLOCKED
Need at least one booked transaction chain in BC
  • Finance (~24): order economics, COGS, P&L cascade
  • Inventory (~20): stock history, movements, planning
  • Forecast / S&OP (11): demand planning, revenue forecasts

What unblocks yellow: one trial chain — posted sales order → posted sales invoice (+ lines) → value entry (COGS) → item ledger entry (stock) + 1 sales credit memo

Gemma Analytics | Natsana — Business Central Migration