Zum Inhalt
HALOWERK

Finopswerk

prepaid breakage remeasurement ledger

Original one-to-one prepaid face/cash cohort, alreadyfulfilled redemption increments and updated expected unredeemed amounts derive current proportional breakage targets, signed catch-up/down, total revenue changes and remaining modeled liability at every update. Explicit own cumulative convention: R redeemed,V prepaid,B current expected breakage,T=V-B; liability=V*(T-R)/T,breakage=R*B/T. Recompute current cumulative amount even with zero new redemption; decreases can reverse earlier.

POST https://finops.halowerk.com/v1/prepaid-breakage-remeasurement-ledger

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
prepaid_faceintegerJa
updatesarrayJa
reportobjectJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "properties": {
    "prepaid_face": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000000
    },
    "updates": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "redeemed_delta": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000
          },
          "breakage_domain": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "maximum": 999999
            },
            "minItems": 1,
            "maxItems": 2
          }
        },
        "required": [
          "redeemed_delta",
          "breakage_domain"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 6
    },
    "report": {
      "type": "object",
      "properties": {
        "final_redeemed": {
          "type": "object",
          "properties": {
            "n": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^(0|-?[1-9][0-9]{0,47})$",
                  "maxLength": 49
                },
                {
                  "type": "null"
                }
              ]
            },
            "d": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[1-9][0-9]{0,47}$",
                  "maxLength": 48
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "n",
            "d"
          ],
          "additionalProperties": false
        },
        "final_breakage_revenue": {
          "type": "object",
          "properties": {
            "n": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^(0|-?[1-9][0-9]{0,47})$",
                  "maxLength": 49
                },
                {
                  "type": "null"
                }
              ]
            },
            "d": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[1-9][0-9]{0,47}$",
                  "maxLength": 48
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "n",
            "d"
          ],
          "additionalProperties": false
        },
        "final_revenue": {
          "type": "object",
          "properties": {
            "n": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^(0|-?[1-9][0-9]{0,47})$",
                  "maxLength": 49
                },
                {
                  "type": "null"
                }
              ]
            },
            "d": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[1-9][0-9]{0,47}$",
                  "maxLength": 48
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "n",
            "d"
          ],
          "additionalProperties": false
        },
        "final_liability": {
          "type": "object",
          "properties": {
            "n": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^(0|-?[1-9][0-9]{0,47})$",
                  "maxLength": 49
                },
                {
                  "type": "null"
                }
              ]
            },
            "d": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[1-9][0-9]{0,47}$",
                  "maxLength": 48
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "n",
            "d"
          ],
          "additionalProperties": false
        },
        "cash_received": {
          "type": "object",
          "properties": {
            "n": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^(0|-?[1-9][0-9]{0,47})$",
                  "maxLength": 49
                },
                {
                  "type": "null"
                }
              ]
            },
            "d": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[1-9][0-9]{0,47}$",
                  "maxLength": 48
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "n",
            "d"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "redeemed_to_date",
        "expected_breakage",
        "expected_redemptions",
        "redemption_revenue",
        "breakage_target",
        "breakage_revenue_delta",
        "cumulative_revenue",
        "revenue_delta",
        "liability",
        "liability_change",
        "conservation_gap",
        "final_redeemed",
        "final_breakage_revenue",
        "final_revenue",
        "final_liability",
        "cash_received"
      ],
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "n": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^(0|-?[1-9][0-9]{0,47})$",
                  "maxLength": 49
                },
                {
                  "type": "null"
                }
              ]
            },
            "d": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[1-9][0-9]{0,47}$",
                  "maxLength": 48
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "n",
            "d"
          ],
          "additionalProperties": false
        },
        "minItems": 1,
        "maxItems": 6
      },
      "propertyNames": {
        "enum": [
          "redeemed_to_date",
          "expected_breakage",
          "expected_redemptions",
          "redemption_revenue",
          "breakage_target",
          "breakage_revenue_delta",
          "cumulative_revenue",
          "revenue_delta",
          "liability",
          "liability_change",
          "conservation_gap",
          "final_redeemed",
          "final_breakage_revenue",
          "final_revenue",
          "final_liability",
          "cash_received"
        ]
      }
    }
  },
  "required": [
    "prepaid_face",
    "updates",
    "report"
  ],
  "additionalProperties": false
}

Originalschema öffnen

Veröffentlichtes Eingabebeispiel

{
  "prepaid_face": 1000,
  "updates": [
    {
      "redeemed_delta": 0,
      "breakage_domain": [
        100
      ]
    },
    {
      "redeemed_delta": 0,
      "breakage_domain": [
        200
      ]
    }
  ],
  "report": {
    "redeemed_to_date": [
      {
        "n": "0",
        "d": "1"
      },
      {
        "n": "0",
        "d": "1"
      }
    ],
    "expected_breakage": [
      {
        "n": "100",
        "d": "1"
      },
      {
        "n": "200",
        "d": "1"
      }
    ],
    "expected_redemptions": [
      {
        "n": "900",
        "d": "1"
      },
      {
        "n": "800",
        "d": "1"
      }
    ],
    "redemption_revenue": [
      {
        "n": "0",
        "d": "1"
      },
      {
        "n": "0",
        "d": "1"
      }
    ],
    "breakage_target": [
      {
        "n": "0",
        "d": "1"
      },
      {
        "n": "0",
        "d": "1"
      }
    ],
    "breakage_revenue_delta": [
      {
        "n": "0",
        "d": "1"
      },
      {
        "n": "0",
        "d": "1"
      }
    ],
    "cumulative_revenue": [
      {
        "n": "0",
        "d": "1"
      },
      {
        "n": "0",
        "d": "1"
      }
    ],
    "revenue_delta": [
      {
        "n": "0",
        "d": "1"
      },
      {
        "n": "0",
        "d": "1"
      }
    ],
    "liability": [
      {
        "n": "1000",
        "d": "1"
      },
      {
        "n": "1000",
        "d": "1"
      }
    ],
    "liability_change": [
      {
        "n": "0",
        "d": "1"
      },
      {
        "n": "0",
        "d": "1"
      }
    ],
    "conservation_gap": [
      {
        "n": "0",
        "d": "1"
      },
      {
        "n": "0",
        "d": "1"
      }
    ],
    "final_redeemed": {
      "n": "0",
      "d": "1"
    },
    "final_breakage_revenue": {
      "n": "0",
      "d": "1"
    },
    "final_revenue": {
      "n": "0",
      "d": "1"
    },
    "final_liability": {
      "n": "1000",
      "d": "1"
    },
    "cash_received": {
      "n": "1000",
      "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 →