Skip to main content
BSS/OSS Academy
📒
Section 7.6

TM Forum and the ERP Boundary

Last updated 12 Oct 2026

01

At a glance

TM Forum’s Open Digital Architecture has no component for the ledger, payables or procurement. ERP sits outside ODA and connects through integration. A few Open APIs sit at its edge, but none carries billing postings into the ledger: that feed is a proprietary, usually batch, journal.

02

The picture

ERP sits outside the ODA components. Most of what crosses the line is batch, and the busiest feed has no standard.

ODA componentInterface · styleERP
  • CPQ, COMTMF687 Stock ManagementSynchronous →Inventory and warehouse
  • PaymentsTMF670 / TMF676Batch →Payments and refunds
  • Resource inventoryTMF639Batch comparison →Fixed assets
  • BillingNo Open API: proprietary journalBatch →General ledger
Near the boundary, not into ERPTMF678 Customer Bill · Bills to channels, not a ledger feedTMF699 Sales · CRM pipeline, not finance
The interfaces that cross from ODA components into ERP and the style each usually takes. The billing-to-ledger feed has no Open API; TMF678 and TMF699 sit near the boundary without feeding ERP.
03

How it works

ERP outside ODA

ODA has components for the catalog, ordering, billing and inventory, but none for the general ledger, payables or procurement. In eTOM terms ERP’s work falls under Enterprise Management, where revenue assurance also sits.

The APIs at the boundary

APIRole at the boundary
TMF687 Stock ManagementThe closest standard for CPQ and order capture to check and reserve device stock
TMF678 Customer Bill ManagementExposes issued bills to channels. Not a ledger feed
TMF670 Payment Method / TMF676 Payment ManagementPayment means, and completed payments and refunds
TMF639 Resource Inventory ManagementThe network side of the asset reconciliation (7.5)
TMF699 Sales ManagementLeads and opportunities: a CRM pipeline API, not finance
No API for the ledger feed
No TM Forum Open API carries billing postings into the general ledger. That interface is a summarised journal file or a call to the ERP’s own API, and it is almost always proprietary. TMF702 is Resource Activation and Configuration, not resource inventory; resource inventory is TMF639.

Batch, synchronous or event

ERPs offer several integration styles, and the right one depends on volume. Dynamics 365 is a useful reference because Microsoft documents the limits plainly:

  • Synchronous APIs (OData, custom services) for small, interactive calls such as a stock check. Microsoft points anything above a few hundred thousand records to its batch data API.
  • Batch for billing journals, payments and bulk master data. The usual shape for billing-to-ledger posting.
  • Business events as notifications only. Microsoft says they are not a data-export mechanism and their order is not guaranteed.
  • Dual-write keeps customer, supplier and product masters in sync with Dataverse both ways. In a telco this can create a third competing customer record unless one system is declared the master.
04

Who owns what

EntitySystem of RecordSystem of EngagementSystem of ReferenceNotes
Billing journal (summarised postings)Billing—ERP general ledgerProprietary interface; no Open API.
Device stock and reservationERP (inventory and warehouse)—CPQ, COMTMF687 where used.
PaymentWhichever system owns receivablesPayment gateway, channels—TMF670 for payment means, TMF676 for payments and refunds.
Customer bill (as presented)BillingChannels via TMF678——
Network resourceResource Inventory—ERP fixed assetsTMF639.
Customer, supplier, product mastersOne declared master per entity——Dual-write sync does not decide which system is master.
05

In practice

No public source describes a named operator’s billing-to-ERP interface. It is unannounced back-office plumbing, and often where reconciliation breaks. Expect a batch journal per period and legal entity, with control totals agreed between billing and finance.

Licensing at the boundary
When a third-party billing system posts into SAP, the transfer can raise indirect or digital access licensing questions. Check them before the interface is designed, not after it is live.
Legacy reality
Ledger feeds in older estates may have been written once against a chart of accounts that has since changed, with mappings held in the interface rather than in either system. A new BSS that adopts TM Forum APIs everywhere else still has to rebuild this feed by hand.
06

The trade-off

What it solves

Treating ERP as outside ODA, with a small set of named interfaces, keeps finance integration explicit and stops ERP being used as an order or customer system.

What it does not solve

  • A standard for the ledger feed; it stays proprietary.
  • Reconciliation between billing totals and ledger totals.
  • Which system is master when sync tools copy data both ways.

What it adds

  • A proprietary journal interface to own and maintain through chart-of-accounts changes.
  • A mix of synchronous, batch and event styles, each with its own failure modes.
  • Licensing questions where third-party systems post into the ERP.

Architecture decision

How should billing post to the ERP ledger?

  • Batch summarised journal

    Choose when billing owns receivables and finance needs balances by account, period and legal entity.

  • Event or synchronous posting

    Choose when volumes are low, such as a small set of B2B invoices, and ERP needs each document as it is issued.

Breaks if business events are used as the ledger feed. They are notifications, not a data export, and their order is not guaranteed.

07

Takeaways

Key Takeaways

  • ERP sits outside the ODA components and connects through integration
  • TMF687, 678, 670/676, 639 and 699 sit at its edge; none carries the ledger feed
  • Billing-to-ledger is usually a summarised batch journal, and the interface is proprietary
  • Pick the integration style by volume, and declare one master before any two-way sync

Check yourself

  • An architect proposes TMF678 as the billing-to-ledger interface. What is wrong with that?Show answer

    TMF678 exposes issued bills to channels. It is not a ledger feed. No Open API carries billing postings into the general ledger; that is a proprietary journal, usually batch.

  • Dual-write is switched on between ERP and Dataverse, and a third customer record appears. What was missed?Show answer

    No system was declared the customer master. Dual-write keeps records in sync both ways; it does not decide ownership. The customer belongs to CRM or party management.