{
 "id": "money-transactions-illustrative",
 "title": "Transactions (illustrative: money's test fixture)",
 "titleProperty": "name",
 "source": "ILLUSTRATIVE: ~/money/tests/acceptance/fixture_home (synthetic), booked by money's src/money/ledger.py; no real account data",
 "properties": {
  "name": {
   "type": "text",
   "label": "Description",
   "readOnly": true
  },
  "date": {
   "type": "date",
   "label": "Date",
   "readOnly": true
  },
  "entity": {
   "type": "text",
   "label": "Entity",
   "display": "badge",
   "readOnly": true,
   "colors": {
    "bam": 1,
    "personal": 5
   }
  },
  "account": {
   "type": "text",
   "label": "Bank account",
   "readOnly": true
  },
  "merchant": {
   "type": "text",
   "label": "Merchant",
   "readOnly": true
  },
  "amount": {
   "type": "number",
   "label": "Amount",
   "unitText": "CAD",
   "decimals": 2,
   "readOnly": true,
   "note": "money in positive, money out negative"
  },
  "currency": {
   "type": "text",
   "label": "Currency",
   "hidden": true,
   "readOnly": true
  },
  "category": {
   "type": "text",
   "label": "Category",
   "constraints": {
    "enum": [
     "Equity:Transfers",
     "Expenses:Entertainment",
     "Expenses:Fees",
     "Expenses:Food",
     "Expenses:Government",
     "Expenses:Health",
     "Expenses:Housing",
     "Expenses:Loan-Payments",
     "Expenses:Other",
     "Expenses:Payroll",
     "Expenses:Purchases",
     "Expenses:Services",
     "Expenses:Transport",
     "Expenses:Travel",
     "Income:Interest",
     "Income:Investment",
     "Income:Other",
     "Income:Revenue",
     "Income:Salary"
    ]
   },
   "note": "the ledger account money books it to; fix one with a rules.toml rule"
  },
  "group": {
   "type": "text",
   "label": "Kind",
   "display": "badge",
   "derived": "the category's top level; a transfer between own accounts, or to Equity:Transfers, is Transfers",
   "colors": {
    "Expenses": 2,
    "Income": 3,
    "Transfers": 0
   }
  },
  "how": {
   "type": "text",
   "label": "Categorised by",
   "derived": "money's precedence: rule, matched transfer, Plaid category"
  },
  "plaid": {
   "type": "text",
   "label": "Plaid category",
   "readOnly": true
  },
  "transfer_pair": {
   "type": "boolean",
   "label": "Between own accounts",
   "hidden": true,
   "readOnly": true
  }
 },
 "rows": [
  {
   "id": "tx-p-10",
   "date": "2026-10-13",
   "entity": "personal",
   "account": "Assets:Cash:RBC-Royal-Bank:RBC-Day-to-Day-Banking-1234",
   "name": "E-TRANSFER TO MISA",
   "merchant": null,
   "amount": -200.0,
   "currency": "CAD",
   "category": "Equity:Transfers",
   "group": "Transfers",
   "how": "unmatched transfer",
   "plaid": "TRANSFER_OUT_ACCOUNT_TRANSFER",
   "transfer_pair": false
  },
  {
   "id": "tx-p-06",
   "date": "2026-10-12",
   "entity": "personal",
   "account": "Assets:Cash:RBC-Royal-Bank:RBC-Day-to-Day-Banking-1234",
   "name": "SAFEWAY #4402",
   "merchant": "Safeway",
   "amount": -85.2,
   "currency": "CAD",
   "category": "Expenses:Food",
   "group": "Expenses",
   "how": "Plaid FOOD_AND_DRINK",
   "plaid": "FOOD_AND_DRINK_GROCERIES",
   "transfer_pair": false
  },
  {
   "id": "tx-a-05",
   "date": "2026-10-11",
   "entity": "personal",
   "account": "Liabilities:CreditCard:American-Express:Amex-Cobalt-1005",
   "name": "CANADIAN TIRE #123",
   "merchant": "Canadian Tire",
   "amount": -120.0,
   "currency": "CAD",
   "category": "Expenses:Purchases",
   "group": "Expenses",
   "how": "Plaid GENERAL_MERCHANDISE",
   "plaid": "GENERAL_MERCHANDISE_OTHER_GENERAL_MERCHANDISE",
   "transfer_pair": false
  },
  {
   "id": "tx-p-05",
   "date": "2026-10-10",
   "entity": "personal",
   "account": "Assets:Cash:RBC-Royal-Bank:RBC-Day-to-Day-Banking-1234",
   "name": "AMEX PAYMENT",
   "merchant": null,
   "amount": -600.0,
   "currency": "CAD",
   "category": "Liabilities:CreditCard:American-Express:Amex-Cobalt-1005",
   "group": "Transfers",
   "how": "matched transfer",
   "plaid": "LOAN_PAYMENTS_CREDIT_CARD_PAYMENT",
   "transfer_pair": true
  },
  {
   "id": "tx-a-04",
   "date": "2026-10-10",
   "entity": "personal",
   "account": "Liabilities:CreditCard:American-Express:Amex-Cobalt-1005",
   "name": "PAYMENT RECEIVED - THANK YOU",
   "merchant": null,
   "amount": 600.0,
   "currency": "CAD",
   "category": "Assets:Cash:RBC-Royal-Bank:RBC-Day-to-Day-Banking-1234",
   "group": "Transfers",
   "how": "matched transfer",
   "plaid": "LOAN_PAYMENTS_CREDIT_CARD_PAYMENT",
   "transfer_pair": true
  },
  {
   "id": "tx-b-05",
   "date": "2026-10-09",
   "entity": "bam",
   "account": "Assets:Cash:BMO:BMO-Business-Chequing-9001",
   "name": "MONTHLY PLAN FEE",
   "merchant": null,
   "amount": -25.0,
   "currency": "CAD",
   "category": "Expenses:Fees",
   "group": "Expenses",
   "how": "Plaid BANK_FEES",
   "plaid": "BANK_FEES_OTHER_BANK_FEES",
   "transfer_pair": false
  },
  {
   "id": "tx-a-03",
   "date": "2026-10-08",
   "entity": "personal",
   "account": "Liabilities:CreditCard:American-Express:Amex-Cobalt-1005",
   "name": "SHELL 1234",
   "merchant": "Shell",
   "amount": -70.0,
   "currency": "CAD",
   "category": "Expenses:Transport",
   "group": "Expenses",
   "how": "Plaid TRANSPORTATION",
   "plaid": "TRANSPORTATION_GAS",
   "transfer_pair": false
  },
  {
   "id": "tx-b-04",
   "date": "2026-10-07",
   "entity": "bam",
   "account": "Assets:Cash:BMO:BMO-Business-Chequing-9001",
   "name": "DIGIKEY ELECTRONICS",
   "merchant": "DigiKey",
   "amount": -1450.75,
   "currency": "CAD",
   "category": "Expenses:Purchases",
   "group": "Expenses",
   "how": "Plaid GENERAL_MERCHANDISE",
   "plaid": "GENERAL_MERCHANDISE_ELECTRONICS",
   "transfer_pair": false
  },
  {
   "id": "tx-b-03",
   "date": "2026-10-06",
   "entity": "bam",
   "account": "Assets:Cash:BMO:BMO-Business-Chequing-9001",
   "name": "E-TRANSFER FROM VCH HEALTH",
   "merchant": null,
   "amount": 12000.0,
   "currency": "CAD",
   "category": "Income:Revenue",
   "group": "Income",
   "how": "Plaid INCOME",
   "plaid": "INCOME_OTHER_INCOME",
   "transfer_pair": false
  },
  {
   "id": "tx-p-09",
   "date": "2026-10-05",
   "entity": "personal",
   "account": "Assets:Cash:RBC-Royal-Bank:RBC-High-Interest-eSavings-5678",
   "name": "TRANSFER FROM CHEQUING 1234",
   "merchant": null,
   "amount": 500.0,
   "currency": "CAD",
   "category": "Assets:Cash:RBC-Royal-Bank:RBC-Day-to-Day-Banking-1234",
   "group": "Transfers",
   "how": "matched transfer",
   "plaid": "TRANSFER_IN_ACCOUNT_TRANSFER",
   "transfer_pair": true
  },
  {
   "id": "tx-p-04",
   "date": "2026-10-05",
   "entity": "personal",
   "account": "Assets:Cash:RBC-Royal-Bank:RBC-Day-to-Day-Banking-1234",
   "name": "TRANSFER TO SAVINGS 5678",
   "merchant": null,
   "amount": -500.0,
   "currency": "CAD",
   "category": "Assets:Cash:RBC-Royal-Bank:RBC-High-Interest-eSavings-5678",
   "group": "Transfers",
   "how": "matched transfer",
   "plaid": "TRANSFER_OUT_ACCOUNT_TRANSFER",
   "transfer_pair": true
  },
  {
   "id": "tx-a-02",
   "date": "2026-10-03",
   "entity": "personal",
   "account": "Liabilities:CreditCard:American-Express:Amex-Cobalt-1005",
   "name": "UBER EATS",
   "merchant": "Uber Eats",
   "amount": -42.4,
   "currency": "CAD",
   "category": "Expenses:Food",
   "group": "Expenses",
   "how": "Plaid FOOD_AND_DRINK",
   "plaid": "FOOD_AND_DRINK_RESTAURANT",
   "transfer_pair": false
  },
  {
   "id": "tx-p-03",
   "date": "2026-10-02",
   "entity": "personal",
   "account": "Assets:Cash:RBC-Royal-Bank:RBC-Day-to-Day-Banking-1234",
   "name": "RENT E-TRANSFER",
   "merchant": null,
   "amount": -1800.0,
   "currency": "CAD",
   "category": "Expenses:Housing",
   "group": "Expenses",
   "how": "Plaid RENT_AND_UTILITIES",
   "plaid": "RENT_AND_UTILITIES_RENT",
   "transfer_pair": false
  },
  {
   "id": "tx-p-02",
   "date": "2026-10-01",
   "entity": "personal",
   "account": "Assets:Cash:RBC-Royal-Bank:RBC-Day-to-Day-Banking-1234",
   "name": "BAM ROBOTICS PAYROLL",
   "merchant": null,
   "amount": 3000.0,
   "currency": "CAD",
   "category": "Income:Salary",
   "group": "Income",
   "how": "Plaid INCOME",
   "plaid": "INCOME_WAGES",
   "transfer_pair": false
  },
  {
   "id": "tx-b-02",
   "date": "2026-10-01",
   "entity": "bam",
   "account": "Assets:Cash:BMO:BMO-Business-Chequing-9001",
   "name": "BAM ROBOTICS PAYROLL",
   "merchant": null,
   "amount": -3000.0,
   "currency": "CAD",
   "category": "Expenses:Payroll",
   "group": "Expenses",
   "how": "rule \"PAYROLL\"",
   "plaid": "TRANSFER_OUT_OTHER_TRANSFER_OUT",
   "transfer_pair": false
  },
  {
   "id": "tx-p-08",
   "date": "2026-09-30",
   "entity": "personal",
   "account": "Assets:Cash:RBC-Royal-Bank:RBC-High-Interest-eSavings-5678",
   "name": "INTEREST PAID",
   "merchant": null,
   "amount": 12.5,
   "currency": "CAD",
   "category": "Income:Interest",
   "group": "Income",
   "how": "Plaid INCOME",
   "plaid": "INCOME_INTEREST_EARNED",
   "transfer_pair": false
  },
  {
   "id": "tx-a-01",
   "date": "2026-09-20",
   "entity": "personal",
   "account": "Liabilities:CreditCard:American-Express:Amex-Cobalt-1005",
   "name": "AIR CANADA",
   "merchant": "Air Canada",
   "amount": -450.0,
   "currency": "CAD",
   "category": "Expenses:Travel",
   "group": "Expenses",
   "how": "Plaid TRAVEL",
   "plaid": "TRAVEL_FLIGHTS",
   "transfer_pair": false
  },
  {
   "id": "tx-p-01",
   "date": "2026-09-16",
   "entity": "personal",
   "account": "Assets:Cash:RBC-Royal-Bank:RBC-Day-to-Day-Banking-1234",
   "name": "RENT E-TRANSFER",
   "merchant": null,
   "amount": -1800.0,
   "currency": "CAD",
   "category": "Expenses:Housing",
   "group": "Expenses",
   "how": "Plaid RENT_AND_UTILITIES",
   "plaid": "RENT_AND_UTILITIES_RENT",
   "transfer_pair": false
  },
  {
   "id": "tx-b-01",
   "date": "2026-09-10",
   "entity": "bam",
   "account": "Assets:Cash:BMO:BMO-Business-Chequing-9001",
   "name": "ACME WASTE SERVICES INV-0007",
   "merchant": null,
   "amount": 8000.0,
   "currency": "CAD",
   "category": "Income:Revenue",
   "group": "Income",
   "how": "rule \"ACME WASTE\"",
   "plaid": "TRANSFER_IN_DEPOSIT",
   "transfer_pair": false
  }
 ]
}
