Architecture & Data Flow

Four zones, one control plane: SAP system, BTP, AWS data handler, Bilendo — documented in the IMS.

The Four Zones

ZoneWhat's thereRole
SAP S/4HANA UtilitiesFI-CA, business partner, contract account, budget billing plansSource. Read-only.
SAP BTPAPI Management proxy per OData service, destination + Cloud ConnectorThe single door into the customer system. The Cloud Connector's tunnel ends in BTP; the facade makes it callable from the outside (OAuth 2.0 Client Credentials).
AWS · data handler per customer projectEventBridge schedule, Step Functions, Lambda (Collector, Transform, Deliver, Report), S3 raw data, DynamoDB watermark, Secrets ManagerReads page by page, transforms according to the mapping from the IMS, delivers delta batches, reports every run.
BilendoLoader (API POST or SFTP), debtors, journal entries, dunning runs per dunning areaTarget. Updates known items, sends dunning notices, and resolves open items.

The Control Plane

The Bilendo IMS describes the data handler (target state, schedule, company codes, objects, secret names) and sees its runs; it does not operate it. A pipeline reads the target state and creates the stack. At runtime, the collector reads the field mapping from the IMS and reports every run back with counters (read, stored, rejected). In the IMS, secrets appear only as names in the customer's secret store.

A Run

  1. Read the target state and watermark, and assign a run ID.

  2. For each object, in a fixed order — debtors before items — read page by page with a delta filter; store raw data unchanged in S3.

  3. Transform into the columns of the Bilendo header template according to the variant's mapping; apply clearing and budget billing rules; batches of at most 5,000 rows each.

  4. Deliver debtor batches, then journal batches; each part carries an idempotency key.

  5. Report the manifest to the IMS; advance the watermark to the run's start time only after confirmed delivery.

A failed run leaves the watermarks where they are. The next run delivers the same window again — Bilendo updates, and no duplicate is created.

Cadence

One to three times a day. The last run of the day takes place before the Bilendo dunning run, so that a payment posted in SAP in the morning doesn't trigger a dunning notice in the afternoon.