# Data dictionary

**All records are fictional.** Keep the raw files unchanged and build your analysis separately. `rules.json` defines the population and assumptions. Blank, zero and unknown are not interchangeable.

## contracts.csv

One stipulated single-service contract.

| Field | Meaning |
|---|---|
| `contract_id` | Stable agreement key. |
| `service_start_month` | First equal-delivery month, YYYY-MM. |
| `service_end_month` | Last inclusive delivery month. |
| `transaction_price` | Total USD consideration allocated to the single evenly delivered service. |

## invoices.csv

One invoice, including an exact retry. All billings create unconditional receivables by assumption.

| Field | Meaning |
|---|---|
| `invoice_id` | Invoice identity used to deduplicate and match receipts. |
| `contract_id` | Parent agreement. |
| `month` | Invoice issue month, YYYY-MM. |
| `amount` | USD billed; not necessarily cash collected or service revenue recognized. |

## receipts.csv

One payment receipt.

| Field | Meaning |
|---|---|
| `receipt_id` | Unique receipt identity. |
| `invoice_id` | Invoice to which the payment applies. |
| `month` | Cash collection month, YYYY-MM. |
| `amount` | USD cash received. Several payments can apply to an invoice. |

## booked_revenue.csv

One deliberately imperfect booked amount per reporting month.

| Field | Meaning |
|---|---|
| `month` | Reporting month, YYYY-MM. |
| `amount` | USD revenue currently recorded, to be reconciled to the stipulated contract schedule. |
