Skip to content

API reference

The reference of every public type and function, one page per public namespace.

Public namespaces

The public API is the package root and four namespaces. Each public name has exactly one import path: there are no aliases.

Module Holds
ccnl_engine The common path: PayrollEngine, the request and plan types (PeriodInput, PeriodFacts, PayrollRun, Employment, EmployerProfile, Headcount, CompetenceYearPlan, TaxYearPlan), the results the facade returns (PeriodResult, CompetenceYearResult, TaxYearResult), every public error, engine_version and bundle_version
ccnl_engine.inputs Facts beyond the common path: contract types, hours, seniority, family, prior and current year tax facts, calendar, engine mode, opening state and imported balances
ccnl_engine.events Work events of a period and the PeriodId an arrears event refers to
ccnl_engine.results Assurance, blockers, decisions, issues, model limitations, capability gaps, runs a year left out, ledger account kinds and remittance lines
ccnl_engine.catalog Bundled contracts and their discovery, ruleset identity and readiness, the capability catalog

The errors are exported at the root and described together in Errors. Data bundle describes the data the engine reads and bundle_version.

Any module below these five is internal and may change without notice, including the loaders, the CCNL models and REGION_CODES named in the guides. CI checks that each page documents every name of its namespace and no internal module.

Guide cross-references

Guide Relevant API
Employment types Permanent, FixedTerm, NaspiExclusion, Apprentice
Pay components Employment.seniority, Employment.weekly_hours, WorkerCategory, BilateralFundEvent
Second level CompetenceYearPlan, CalendarOverride
Fiscal CalculationDecision, CalculationIssue
Domestic work Employment.weekly_hours, PeriodFacts.contributable_hours