← Back
Home › Systems › Energy, industry and public infrastructure

energy-retail-billing

energy retail CIS/billing

Kraken, SAP S/4HANA Utilities (IS-U), Oracle utilities billing, Gentrack

SystemTechniques · 10Primitives · 42 energy-retail-billing Durable workflow executiondistributed · medium: Ordinary code made crash-proof by logging every side-effect result and replaying the code from that log; activities run at least once, workflow logic must be deterministic.›Windowed stream aggregationdistributed · medium: Group events by event-time window per key, keep one partial aggregate per slice, and emit a window when the watermark passes its end.›Payment state machinefinance · medium: Persisted state machine for a payment lifecycle (authorize, capture, void, refund) that treats timeouts as unknown, retries with the same key and applies webhooks idempotently.›Tariff ratingfinance · medium: Rate usage events against price plans: tiers, time bands, bundles and rounding rulesTime-series anomaly detectionstatistics · medium: Predict the expected value from a seasonal baseline, scale the residual by a robust spread (MAD), threshold at a chosen false-alarm rate, then merge flags into incidents.›Columnar storagestorage · medium: Store each column contiguously so analytic scans read only the columns they need, compress well and run as tight SIMD loops.›Durable job queuedistributed · medium: Persisted tasks that workers lease for a visibility timeout, ack on success and retry with backoff; at-least-once execution that survives worker and queue crashes.›Idempotency keysfinance · low: Client-chosen unique key per logical operation, stored with a request fingerprint and the final response, so retries replay the first result instead of acting twice.›Largest remainder roundingfinance · low: Splitting an amount into parts that sum exactly (largest remainder / Hamilton) for allocations, splits and prorationsMoney representationfinance · low: Store money as integer minor units with an explicit currency exponent, compute in wider integers, and round once with a named rounding mode.›Calendar date arithmeticsystems · low: Civil dates, time zones (tzdb), DST gaps, month-end anchoring and duration mathDouble-entry ledgerfinance · low: Append-only journal of transactions whose postings sum to zero per currency; balances are derived, so money can only move, never appear or vanish.›Iso 20022 messagesfinance · low: ISO 20022 XML payment and securities messages (pacs, pain, camt, sese): structure and validationProration calculationfinance · low: Prorating charges and credits for mid-cycle plan changes by time usedRevenue recognition schedulesfinance · low: Deferred revenue schedules that recognize income over service periods (ASC 606 / IFRS 15)X12 edi messagingnetworking · low: ANSI X12 and EDIFACT interchanges: segment/element delimiters, ISA/GS/ST envelopes, control numbers and 997/CONTRL acknowledgementsSpline interpolationnumerics · low: Linear, bilinear/trilinear and cubic spline interpolation on grids and tablesGapless sequence numbersstorage · low: Gap-free, monotonic numbering (invoices, journal entries) under concurrency and rollbacksOptimistic concurrency controlstorage · low: Run transactions without locks, record what they read, and validate at commit that nothing changed; fastest when conflicts are rare.›Record replaydistributed · low: Record every nondeterministic input (time, randomness, I/O, model and tool outputs, per-tick player input) and re-execute deterministically for debugging, replays and state rebuildEvent sourcingfinance · low: Persist state changes as an append-only stream of immutable events per entity; current state is a fold over them, guarded by expected-version appends.›Hierarchical timing wheelsystems · low: Timers bucketed by expiry into wheels of slots, coarser wheels for far deadlines: O(1) insert and cancel for millions of timeouts.›Hash aggregationstorage · low: GROUP BY via hash tables with partitioning and spill to disk+ 3 more techniques+ 26 more primitives

Similar systems

Share the most building blocks with this one.