Zum Inhalt
HALOWERK

Finopswerk

aged receivable loss allowance ledger

Reconstruct original receivable aging, four bucket exposures, two scenario loss arrays, probability-weighted allowance, net carrying values and signed adjustment to booked allowance. Caller supplies already-supported present-value-adjusted lifetime loss rates and scenario probability; no calibration, forecast, legal or IFRS-compliance certification. OWNaging bands0,1-30,31-60,61+days; due-today/future band0. Common caller-defined monetary minor unit; exact fractions, no cash rounding..

POST https://finops.halowerk.com/v1/aged-receivable-loss-allowance-ledger

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
as_of_dayintegerJa
invoicesarrayJa
weight_a_bpsintegerJa
rates_a_bpsarrayJa
rates_b_domainarrayJa
booked_allowance_minorintegerJa
reportobjectJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "as_of_day",
    "invoices",
    "weight_a_bps",
    "rates_a_bps",
    "rates_b_domain",
    "booked_allowance_minor",
    "report"
  ],
  "properties": {
    "as_of_day": {
      "type": "integer",
      "minimum": 0,
      "maximum": 365
    },
    "invoices": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "due_day": {
            "type": "integer",
            "minimum": -365,
            "maximum": 365
          },
          "amount_minor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000
          }
        },
        "required": [
          "due_day",
          "amount_minor"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 4
    },
    "weight_a_bps": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000
    },
    "rates_a_bps": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 10000
      },
      "minItems": 4,
      "maxItems": 4
    },
    "rates_b_domain": {
      "type": "array",
      "items": {
        "type": "array",
        "items": {
          "type": "integer",
          "minimum": 0,
          "maximum": 10000
        },
        "minItems": 4,
        "maxItems": 4
      },
      "minItems": 1,
      "maxItems": 2,
      "uniqueItems": true
    },
    "booked_allowance_minor": {
      "type": "integer",
      "minimum": 0,
      "maximum": 4000000
    },
    "report": {
      "type": "object",
      "minProperties": 12,
      "maxProperties": 12,
      "propertyNames": {
        "enum": [
          "ages",
          "buckets",
          "bucket_exposure",
          "scenario_a_loss",
          "scenario_b_loss",
          "weighted_loss",
          "net_carrying",
          "gross_total",
          "allowance_total",
          "net_total",
          "allowance_change",
          "conservation_gap"
        ]
      },
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "n",
            "d"
          ],
          "properties": {
            "n": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": -1000000000000000,
              "maximum": 1000000000000000
            },
            "d": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 1,
              "maximum": 100000000
            }
          }
        },
        "minItems": 1,
        "maxItems": 4
      }
    }
  }
}

Originalschema öffnen

Veröffentlichtes Eingabebeispiel

{
  "as_of_day": 90,
  "invoices": [
    {
      "due_day": 90,
      "amount_minor": 101
    },
    {
      "due_day": 59,
      "amount_minor": 200
    }
  ],
  "weight_a_bps": 5000,
  "rates_a_bps": [
    100,
    200,
    400,
    800
  ],
  "rates_b_domain": [
    [
      200,
      400,
      800,
      1600
    ]
  ],
  "booked_allowance_minor": 100,
  "report": {
    "ages": [
      {
        "n": 0,
        "d": 1
      },
      {
        "n": 31,
        "d": 1
      }
    ],
    "buckets": [
      {
        "n": 0,
        "d": 1
      },
      {
        "n": 2,
        "d": 1
      }
    ],
    "bucket_exposure": [
      {
        "n": 101,
        "d": 1
      },
      {
        "n": 0,
        "d": 1
      },
      {
        "n": 200,
        "d": 1
      },
      {
        "n": 0,
        "d": 1
      }
    ],
    "scenario_a_loss": [
      {
        "n": 101,
        "d": 100
      },
      {
        "n": 8,
        "d": 1
      }
    ],
    "scenario_b_loss": [
      {
        "n": 101,
        "d": 50
      },
      {
        "n": 16,
        "d": 1
      }
    ],
    "weighted_loss": [
      {
        "n": 303,
        "d": 200
      },
      {
        "n": 12,
        "d": 1
      }
    ],
    "net_carrying": [
      {
        "n": 19897,
        "d": 200
      },
      {
        "n": 188,
        "d": 1
      }
    ],
    "gross_total": [
      {
        "n": 301,
        "d": 1
      }
    ],
    "allowance_total": [
      {
        "n": 2703,
        "d": 200
      }
    ],
    "net_total": [
      {
        "n": 57497,
        "d": 200
      }
    ],
    "allowance_change": [
      {
        "n": -17297,
        "d": 200
      }
    ],
    "conservation_gap": [
      {
        "n": 0,
        "d": 1
      }
    ]
  }
}

Ergebnis & Dokumentation

Maschinenlesbare Dokumentation dieses Hubs

Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-07, 02:42 UTC.

Weitere Endpunkte dieses Hubs

Alle Endpunkte dieses Hubs →