Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -533,16 +533,18 @@
"recipientName",
"paymentTypeCode"
],
"operations": {
"totalBetalingen": {
"metrics": [
{
"metric": "sum",
"field": "paymentsTotal",
"operation": "sum"
"as": "totalBetalingen"
},
"recordCount": {
{
"metric": "count",
"field": "id",
"operation": "count"
"as": "recordCount"
}
}
]
},
"ib47DryRunTotalsPerMonth": {
"description": "Monthly dry-run aggregation for the reconciliation invariant check. Must equal the final yearly batch totals per recipient (€0 tolerance) per REQ-DPA-005.",
Expand All @@ -556,12 +558,13 @@
"dryRunMonth",
"paymentTypeCode"
],
"operations": {
"maandTotaalBetalingen": {
"metrics": [
{
"metric": "sum",
"field": "paymentsTotal",
"operation": "sum"
"as": "maandTotaalBetalingen"
}
}
]
},
"ib47ReconciliationCheck": {
"description": "Invariant check: final yearly batch totals per recipient MUST equal the sum of 12 monthly dry-run totals (€0 tolerance) per REQ-DPA-005. Surfaced as a non-blocking warning when the invariant is violated before submission.",
Expand Down
9 changes: 5 additions & 4 deletions lib/Settings/register.d/bookkeeping-cbcr-pillar2.json
Original file line number Diff line number Diff line change
Expand Up @@ -382,12 +382,13 @@
"schema": "GroupEntityRegistry",
"condition": "GroupEntityRegistry.jurisdiction = @self.jurisdiction AND GroupEntityRegistry.cbcrIncluded = true"
},
"operations": {
"entityCount": {
"metrics": [
{
"metric": "count",
"field": "GroupEntityRegistry.id",
"operation": "count"
"as": "entityCount"
}
}
]
}
},
"x-openregister-consolidation-source": {
Expand Down
12 changes: 6 additions & 6 deletions lib/Settings/register.d/bookkeeping-cbs-bestanden-extended.json
Original file line number Diff line number Diff line change
Expand Up @@ -187,12 +187,12 @@
"x-openregister-aggregations": {
"totalAggregatedAmount": {
"description": "Sum of CBSLine.aggregatedAmount for this submission, used by validation to compare against GL totals (REQ-CBS-008).",
"source": "CBSLine",
"filter": {
"cbsSubmissionId": "@self.id"
},
"sum": [
"aggregatedAmount"
"filter": {},
"from": "CBSLine",
"metric": "sum",
"field": "aggregatedAmount",
"groupBy": [
"cbsSubmissionId"
]
}
},
Expand Down
18 changes: 10 additions & 8 deletions lib/Settings/register.d/bookkeeping-consolidation-commercial.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,25 +498,27 @@
"schema": "EliminationEntry",
"condition": "EliminationEntry.consolidationPeriodId = @self.id"
},
"operations": {
"totalEliminationCount": {
"metrics": [
{
"metric": "count",
"field": "EliminationEntry.id",
"operation": "count"
"as": "totalEliminationCount"
}
}
]
},
"totalEliminationAmount": {
"description": "totalEliminationAmount = SUM(EliminationEntry.lines[].debit) for approved eliminations of this period (REQ-CONS-002).",
"join": {
"schema": "EliminationEntry",
"condition": "EliminationEntry.consolidationPeriodId = @self.id AND EliminationEntry.reviewStatus = 'approved'"
},
"operations": {
"totalEliminationAmount": {
"metrics": [
{
"metric": "sum",
"field": "EliminationEntry.lines.debit",
"operation": "sum"
"as": "totalEliminationAmount"
}
}
]
}
},
"x-openregister-lifecycle": {
Expand Down
23 changes: 13 additions & 10 deletions lib/Settings/register.d/bookkeeping-credit-control-dunning.json
Original file line number Diff line number Diff line change
Expand Up @@ -595,15 +595,17 @@
"invoiceId",
"stageNr"
],
"operations": {
"count": {
"operation": "count"
"metrics": [
{
"metric": "count",
"as": "count"
},
"latestExecutedAt": {
{
"metric": "max",
"field": "executedOn",
"operation": "max"
"as": "latestExecutedAt"
}
}
]
},
"deliveryByStage": {
"label": "Delivery by stage",
Expand All @@ -614,11 +616,12 @@
"stageNr",
"deliveryStatus"
],
"operations": {
"count": {
"operation": "count"
"metrics": [
{
"metric": "count",
"as": "count"
}
}
]
}
},
"x-openregister-rbac": {
Expand Down
40 changes: 23 additions & 17 deletions lib/Settings/register.d/bookkeeping-csrd-esrs.json
Original file line number Diff line number Diff line change
Expand Up @@ -756,52 +756,58 @@
"schema": "EmissionSource",
"condition": "EmissionSource.inventory = @self.id AND EmissionSource.scope = '1'"
},
"operations": {
"totalScope1": {
"metrics": [
{
"metric": "sum",
"field": "EmissionSource.co2eResult",
"operation": "sum"
"as": "totalScope1"
}
}
]
},
"scope2LocationBasedTotal": {
"description": "total-Scope-2-location-based = SUM(co2eResult) for scope=2 rows using grid-average factors (REQ-CSR-003).",
"join": {
"schema": "EmissionSource",
"condition": "EmissionSource.inventory = @self.id AND EmissionSource.scope = '2' AND EmissionSource.scope2Method = 'location-based'"
},
"operations": {
"totalScope2LocationBased": {
"metrics": [
{
"metric": "sum",
"field": "EmissionSource.co2eResult",
"operation": "sum"
"as": "totalScope2LocationBased"
}
}
]
},
"scope2MarketBasedTotal": {
"description": "total-Scope-2-market-based = SUM(co2eResult) for scope=2 rows using contract-specific factors (REQ-CSR-003).",
"join": {
"schema": "EmissionSource",
"condition": "EmissionSource.inventory = @self.id AND EmissionSource.scope = '2' AND EmissionSource.scope2Method = 'market-based'"
},
"operations": {
"totalScope2MarketBased": {
"metrics": [
{
"metric": "sum",
"field": "EmissionSource.co2eResult",
"operation": "sum"
"as": "totalScope2MarketBased"
}
}
]
},
"scope3ByCategory": {
"description": "total-Scope-3 broken down by the 15 GHG Protocol categories: SUM(co2eResult) grouped by category for scope LIKE '3-cat-%' rows (REQ-CSR-003).",
"join": {
"schema": "EmissionSource",
"condition": "EmissionSource.inventory = @self.id AND EmissionSource.scope LIKE '3-cat-%'"
},
"groupBy": "EmissionSource.scope",
"operations": {
"totalScope3": {
"groupBy": [
"EmissionSource.scope"
],
"metrics": [
{
"metric": "sum",
"field": "EmissionSource.co2eResult",
"operation": "sum"
"as": "totalScope3"
}
}
]
}
},
"x-openregister-lifecycle": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -448,10 +448,10 @@
"x-openregister-aggregations": {
"netAmount": {
"description": "Net amount = grossAmount minus the sum of employee-borne deductions for this payroll (REQ-PAY-002). Employer SV is excluded from net.",
"source": "Deduction",
"groupBy": [],
"groupBy": [
"payrollId"
],
"filter": {
"payrollId": "@self.id",
"deductionType": [
"income-tax",
"social-security-employee",
Expand All @@ -460,22 +460,20 @@
"other"
]
},
"sum": [
"amount"
]
"from": "Deduction",
"metric": "sum",
"field": "amount"
},
"annualEmployeeDeductions": {
"description": "Per-employee annual deduction totals grouped by type for the payroll year, used by the calculate precondition to validate statutory limits and for tax/SV reporting (REQ-PAY-005).",
"source": "Deduction",
"groupBy": [
"taxYear",
"deductionType"
],
"filter": {
"taxYear": "@self.period.year"
},
"sum": [
"amount"
]
"filter": {},
"from": "Deduction",
"metric": "sum",
"field": "amount"
}
},
"x-openregister-ubl": {
Expand Down
21 changes: 10 additions & 11 deletions lib/Settings/register.d/bookkeeping-emu-reporting.json
Original file line number Diff line number Diff line change
Expand Up @@ -227,12 +227,12 @@
"x-openregister-aggregations": {
"totaleAdjustments": {
"description": "Sum of EMUAdjustment.bedrag (signed by richting) for this report, driving the BBV-reconciliation control (REQ-EMU-009).",
"source": "EMUAdjustment",
"filter": {
"reportId": "@self.id"
},
"sum": [
"amount"
"filter": {},
"from": "EMUAdjustment",
"metric": "sum",
"field": "amount",
"groupBy": [
"reportId"
]
}
},
Expand Down Expand Up @@ -689,17 +689,16 @@
"x-openregister-aggregations": {
"brutoSchuldPerCategorie": {
"description": "Sum of uitstaandeSchuld grouped by categorieEurostat for AF.2/AF.3/AF.4 instruments that count toward the bruto EMU-schuld (REQ-EMU-004).",
"source": "DebtPosition",
"groupBy": [
"reportId",
"categoryEurostat"
],
"filter": {
"reportId": "@self.reportId",
"teltMeeInEmuDebt": true
},
"sum": [
"outstandingDebt"
]
"from": "DebtPosition",
"metric": "sum",
"field": "outstandingDebt"
}
},
"x-openregister-notifications": {
Expand Down
14 changes: 7 additions & 7 deletions lib/Settings/register.d/bookkeeping-icp-opgaaf.json
Original file line number Diff line number Diff line change
Expand Up @@ -199,18 +199,18 @@
"IcpSupply.buyerVatId",
"IcpSupply.supplyType"
],
"operations": {
"amountExclVat": {
"field": "IcpSupply.amountExclVat",
"operation": "sum",
"target": "amountExclVat"
}
},
"sort": [
{
"field": "buyerVatId",
"direction": "asc"
}
],
"metrics": [
{
"metric": "sum",
"field": "IcpSupply.amountExclVat",
"as": "amountExclVat"
}
]
}
},
Expand Down
9 changes: 4 additions & 5 deletions lib/Settings/register.d/bookkeeping-ifrs15-revenue.json
Original file line number Diff line number Diff line change
Expand Up @@ -1197,11 +1197,9 @@
"x-openregister-aggregations": {
"revenueWaterfallByContractPeriod": {
"description": "Declarative shape of the per-contract, per-period revenue roll-up RevenueCutoffService computes (REQ-IFRS15-008). Groups RevenueRecognitionEvent by (contractId, period) within an administration, sums recognisedAmount into periodRecognised, carries priorCumulativeRecognised from the prior period, derives cumulativeRecognised = priorCumulativeRecognised + periodRecognised and remainingAmount = transactionPriceAllocated - cumulativeRecognised, and forecasts the remaining amount forward over remainingMonths (60+, IFRS 15.120). contractGroupId enables group-level rollup for combination-of-contracts (REQ-IFRS15-011). When the OpenRegister aggregation engine cannot express the prior-period carry or the forward forecast, RevenueCutoffService computes the same result in PHP via the real ObjectService API.",
"source": "RevenueRecognitionEvent",
"filter": {
"contractId": "@self.contractId"
},
"filter": {},
"groupBy": [
"contractId",
"RevenueRecognitionEvent.contractId",
"RevenueRecognitionEvent.periodEnd"
],
Expand All @@ -1221,7 +1219,8 @@
"expression": "transactionPriceAllocated - cumulativeRecognised",
"target": "remainingAmount"
}
}
},
"from": "RevenueRecognitionEvent"
}
}
}
Expand Down
Loading
Loading