am.noz.at.spl.expense
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "An immutable expense revision header. Items are stored in am.noz.at.spl.item records with the same expenseId and revisionId.",
"key": "tid",
"record": {
"properties": {
"base": {
"description": "The effective revision this revision was based on.",
"ref": "lex:am.noz.at.spl.expense#recordRef",
"type": "ref"
},
"category": {
"knownValues": [
"food",
"transport",
"accommodation",
"entertainment",
"groceries",
"utilities",
"shopping",
"other"
],
"maxLength": 64,
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"currency": {
"description": "Uppercase ISO 4217 currency code.",
"maxLength": 3,
"minLength": 3,
"type": "string"
},
"description": {
"maxGraphemes": 200,
"maxLength": 1000,
"minLength": 1,
"type": "string"
},
"expenseId": {
"description": "Stable application identifier shared by every revision.",
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"groupId": {
"description": "Optional organizational group or trip within the ledger Space. Omitted for ungrouped expenses.",
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"itemCount": {
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"merchant": {
"maxGraphemes": 120,
"maxLength": 500,
"type": "string"
},
"minorUnit": {
"maximum": 4,
"minimum": 0,
"type": "integer"
},
"notes": {
"maxGraphemes": 1000,
"maxLength": 4000,
"type": "string"
},
"occurredAt": {
"format": "datetime",
"type": "string"
},
"paidBy": {
"items": {
"ref": "lex:am.noz.at.spl.expense#moneyAllocation",
"type": "ref"
},
"maxLength": 250,
"minLength": 1,
"type": "array"
},
"receipt": {
"accept": [
"image/jpeg",
"image/png",
"image/webp",
"application/pdf"
],
"maxSize": 10000000,
"type": "blob"
},
"receiptAlt": {
"maxGraphemes": 300,
"maxLength": 2000,
"type": "string"
},
"recurringSource": {
"format": "at-uri",
"type": "string"
},
"revisionId": {
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"schemaVersion": {
"const": 1,
"type": "integer"
},
"totalMinor": {
"description": "Exact total in currency minor units; never a floating-point amount.",
"minimum": 1,
"type": "integer"
},
"voided": {
"description": "A voiding revision replaces destructive deletion in normal application flows.",
"type": "boolean"
}
},
"required": [
"schemaVersion",
"expenseId",
"revisionId",
"description",
"occurredAt",
"createdAt",
"currency",
"minorUnit",
"totalMinor",
"paidBy",
"itemCount",
"voided"
],
"type": "object"
},
"type": "record"
},
"moneyAllocation": {
"properties": {
"amountMinor": {
"minimum": 0,
"type": "integer"
},
"did": {
"format": "did",
"type": "string"
}
},
"required": [
"did",
"amountMinor"
],
"type": "object"
},
"recordRef": {
"properties": {
"cid": {
"format": "cid",
"type": "string"
},
"uri": {
"format": "at-uri",
"type": "string"
}
},
"required": [
"uri",
"cid"
],
"type": "object"
}
},
"id": "am.noz.at.spl.expense",
"lexicon": 1
}
Metadata
- DID
-
did:plc:lmkzmvv6sdxntwtyxpg7fqqq - CID
-
bafyreiefdql5ryybb2btbv5tv46f6ygdjjft7hriy23rnp5ywixfticmtu - Indexed At
- 2026-08-29 23:16 UTC
- AT-URI
-
at://did:plc:lmkzmvv6sdxntwtyxpg7fqqq/com.atproto.lexicon.schema/am.noz.at.spl.expense
Version History (2 versions)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
am.noz.at.spl.item record
A line item belonging to one immutable expense revision.
-
am.noz.at.spl.recurring record
A recurring expense template. Occurrences are materialized as ordinary immutable expenses.
-
am.noz.at.spl.settlement record
An immutable record of money paid between two ledger members, optionally filed in a group.