← Back
Home › Systems › Finance, HR and back office

erp

enterprise resource planning

SAP, Odoo

SystemTechniques · 20Primitives · 76 erp Batch checkpoint restartdistributed · medium: Large batch jobs (end-of-day, settlement, payroll runs) that checkpoint and restart idempotentlyDeterministic simulation testingdistributed · medium: Run the whole system in one thread under a seeded scheduler with simulated network, disk and clock, so every failure replays from its seed.›Primary-backup replicationdistributed · medium: One node orders all writes and ships them to standbys; the acknowledgement rule (none, one, all) sets what a crash loses, and an external arbiter decides who takes over.›Inventory reservationfinance · medium: Reserving stock with TTL holds, release on timeout and no overselling under contentionBill of materials explosionoptimization · medium: MRP netting: explode BOMs level by level with lead-time offsetting into planned ordersMixed-integer programming (branch a…optimization · medium: Solves LPs with integer variables by solving the LP relaxation, branching on a fractional variable, and pruning subtrees whose LP bound cannot beat the incumbent.›Coverage-guided fuzzingsecurity · medium: Mutate inputs, run an instrumented target, and keep any input that reaches a new code edge; feedback turns blind guessing into incremental search.›Topological sortgraphs · low: Order the vertices of a DAG so every edge points forward; the core of build systems, schedulers and dependency resolution, with cycle detection for free.›Simplex methodoptimization · low: Solves linear programs by walking along the edges of the feasible polytope from vertex to vertex, one basis swap (pivot) at a time; the workhorse behind MIP solvers.›Hdr histogramdata-structures · low: Log-linear bucketed histograms with bounded relative error for latency percentilesCurrency cross rate triangulationfinance · low: Deriving cross rates through a base currency with correct precision, inversion and spreadsDouble-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.›Fifo lot consumptionfinance · low: Consuming quantities from dated lots in FIFO/FEFO order (points expiry, stock rotation)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.›Process supervisionhardware-os · low: A parent process starts services, reaps their exits and restarts them under a delay and burst-limit policy, then stops them with SIGTERM before SIGKILL.›Mutual TLSsecurity · low: TLS where the client also proves a certificate key, so every connection carries a verified, rotatable machine identity.›Row-level security (multi-tenant is…security · low: Append a policy predicate to every query inside the database, so a forgotten WHERE tenant_id = ? in application code cannot leak another tenant's rows.›Closure tablestorage · low: Storing trees and hierarchies in relational tables (closure table, materialized path) for fast subtree queriesGapless sequence numbersstorage · low: Gap-free, monotonic numbering (invoices, journal entries) under concurrency and rollbacksGraceful drainingsystems · low: On a termination signal, stop taking new work, finish in-flight work until a deadline, tell clients to reconnect elsewhere, then exit; clients resume from a token.›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.›Write-ahead logstorage · low: Append each change to a checksummed sequential log and fsync it before touching data pages; the basis of crash durability in nearly every database.›+ 13 more techniques+ 60 more primitives

Similar systems

Share the most building blocks with this one.