am.noz.at.spl.item

noz.am

Documentation

A line item belonging to one immutable expense revision.

main record

A line item belonging to one immutable expense revision.

Record Key tid Timestamp-based ID

Properties

amountMinor integer Required

Exact signed amount in the parent expense's currency minor units. Negative values represent discounts.

category string Optional

No description available.

maxLength: 64 bytes
Known values: food, transport, accommodation, entertainment, groceries, utilities, shopping, tax, tip, discount, other
createdAt string datetime Required

An RFC 3339 formatted timestamp.

expenseId string Required

No description available.

maxLength: 64 bytesminLength: 1 bytes
itemId string Required

No description available.

maxLength: 64 bytesminLength: 1 bytes
label string Required

No description available.

maxLength: 1000 bytesminLength: 1 bytesmaxGraphemes: 200 graphemes
owed array of ref lex:am.noz.at.spl.item#moneyAllocation Required

Canonical rounded minor-unit allocations. These, rather than recomputed percentages, drive balances.

maxLength: 250 itemsminLength: 1 items
quantityMilli integer Optional

Optional quantity in thousandths, avoiding floating-point values.

minimum: 1
revisionId string Required

No description available.

maxLength: 64 bytesminLength: 1 bytes
schemaVersion integer Required

No description available.

View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "schemaVersion",
      "expenseId",
      "revisionId",
      "itemId",
      "label",
      "amountMinor",
      "splitRule",
      "owed",
      "createdAt"
    ],
    "properties": {
      "owed": {
        "type": "array",
        "items": {
          "ref": "lex:am.noz.at.spl.item#moneyAllocation",
          "type": "ref"
        },
        "maxLength": 250,
        "minLength": 1,
        "description": "Canonical rounded minor-unit allocations. These, rather than recomputed percentages, drive balances."
      },
      "label": {
        "type": "string",
        "maxLength": 1000,
        "minLength": 1,
        "maxGraphemes": 200
      },
      "itemId": {
        "type": "string",
        "maxLength": 64,
        "minLength": 1
      },
      "category": {
        "type": "string",
        "maxLength": 64,
        "knownValues": [
          "food",
          "transport",
          "accommodation",
          "entertainment",
          "groceries",
          "utilities",
          "shopping",
          "tax",
          "tip",
          "discount",
          "other"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "datetime"
      },
      "expenseId": {
        "type": "string",
        "maxLength": 64,
        "minLength": 1
      },
      "splitRule": {
        "refs": [
          "lex:am.noz.at.spl.item#equalSplit",
          "lex:am.noz.at.spl.item#exactSplit",
          "lex:am.noz.at.spl.item#percentSplit",
          "lex:am.noz.at.spl.item#sharesSplit"
        ],
        "type": "union",
        "closed": true
      },
      "revisionId": {
        "type": "string",
        "maxLength": 64,
        "minLength": 1
      },
      "amountMinor": {
        "type": "integer",
        "description": "Exact signed amount in the parent expense's currency minor units. Negative values represent discounts."
      },
      "quantityMilli": {
        "type": "integer",
        "minimum": 1,
        "description": "Optional quantity in thousandths, avoiding floating-point values."
      },
      "schemaVersion": {
        "type": "integer",
        "const": 1
      }
    }
  },
  "description": "A line item belonging to one immutable expense revision."
}
equalSplit object

No description available.

Properties

participants array of stringdid Required

No description available.

maxLength: 250 itemsminLength: 1 items
View raw schema
{
  "type": "object",
  "required": [
    "participants"
  ],
  "properties": {
    "participants": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "did"
      },
      "maxLength": 250,
      "minLength": 1
    }
  }
}
exactSplit object

No description available.

Properties

View raw schema
{
  "type": "object",
  "required": [
    "allocations"
  ],
  "properties": {
    "allocations": {
      "type": "array",
      "items": {
        "ref": "lex:am.noz.at.spl.item#moneyAllocation",
        "type": "ref"
      },
      "maxLength": 250,
      "minLength": 1
    }
  }
}
moneyAllocation object

No description available.

Properties

amountMinor integer Required

No description available.

did string did Required

A decentralized identifier (DID).

View raw schema
{
  "type": "object",
  "required": [
    "did",
    "amountMinor"
  ],
  "properties": {
    "did": {
      "type": "string",
      "format": "did"
    },
    "amountMinor": {
      "type": "integer"
    }
  }
}
percentAllocation object

No description available.

Properties

did string did Required

A decentralized identifier (DID).

partsPerMillion integer Required

No description available.

minimum: 0maximum: 1000000
View raw schema
{
  "type": "object",
  "required": [
    "did",
    "partsPerMillion"
  ],
  "properties": {
    "did": {
      "type": "string",
      "format": "did"
    },
    "partsPerMillion": {
      "type": "integer",
      "maximum": 1000000,
      "minimum": 0
    }
  }
}
percentSplit object

No description available.

Properties

View raw schema
{
  "type": "object",
  "required": [
    "allocations"
  ],
  "properties": {
    "allocations": {
      "type": "array",
      "items": {
        "ref": "lex:am.noz.at.spl.item#percentAllocation",
        "type": "ref"
      },
      "maxLength": 250,
      "minLength": 1
    }
  }
}
shareAllocation object

No description available.

Properties

did string did Required

A decentralized identifier (DID).

shares integer Required

No description available.

minimum: 1maximum: 1000000
View raw schema
{
  "type": "object",
  "required": [
    "did",
    "shares"
  ],
  "properties": {
    "did": {
      "type": "string",
      "format": "did"
    },
    "shares": {
      "type": "integer",
      "maximum": 1000000,
      "minimum": 1
    }
  }
}
sharesSplit object

No description available.

Properties

View raw schema
{
  "type": "object",
  "required": [
    "allocations"
  ],
  "properties": {
    "allocations": {
      "type": "array",
      "items": {
        "ref": "lex:am.noz.at.spl.item#shareAllocation",
        "type": "ref"
      },
      "maxLength": 250,
      "minLength": 1
    }
  }
}

Lexicon Garden

@