Files
integreat/resources
Bryce cc31d8849b Feat/Complete Sales Summaries (#5)
## Summary

Completes the automatic sales summary pipeline end-to-end: the `sales-summaries-v2` job now calculates aggregate totals, preserves manual adjustments, and automatically posts balanced journal entries to the ledger.

## What Changed

**New Datomic transaction function** (`upsert-sales-summary-ledger`)
- Transforms detailed `sales-summary-item`s into aggregated `journal-entry` lines grouped by account and ledger side
- Handles the full upsert: posts a new journal entry for summaries with mapped accounts, or retracts the orphaned entry if items no longer qualify

**Enhanced `sales-summaries-v2` job**
- Calculates and stores 13 aggregate total attributes (card/cash/food-app/gift-card payments, refunds, fees, discounts, tax, tip, returns, unknown, net)
- Preserves manual items (`manual? true`) during recalculation — only auto-calculated items are replaced

**Ledger reconciliation**
- `reconcile-ledger` now queries for sales summaries missing journal entries and repairs them via `:upsert-sales-summary-ledger`, alongside existing invoice and transaction repairs

**Schema**
- Added 13 `total-*` attributes on `sales-summary` (all `db.type/double`, no history)
- Registered the new transaction function in `tx.clj` and `datomic.clj`

**Admin UI cleanup**
- Resolved "clientize" and HTMX `client-id` TODOs in the sales summaries admin page
- `new-summary-item` now correctly passes `client-id` via `hx-vals`
- Removed stale TODO comments and placeholder code

## Files Changed (8)

| File | Purpose |
|------|---------|
| `iol_ion/.../upsert_sales_summary_ledger.clj` | New Datomic tx function |
| `iol_ion/.../tx.clj` | Register new tx function |
| `resources/schema.edn` | 13 new `total-*` attributes |
| `src/.../datomic.clj` | Load new tx namespace |
| `src/.../jobs/sales_summaries.clj` | Aggregate totals + manual item preservation |
| `src/.../ledger.clj` | Sales summary repair in `reconcile-ledger` |
| `src/.../ssr/admin/sales_summaries.clj` | UI TODO cleanup |
| `docs/plans/...plan.md` | Implementation plan document |

Co-authored-by: Bryce <bryce@integreatconsult.com>
Reviewed-on: #5
Co-authored-by: Bryce <bryce@brycecovertoperations.com>
Co-committed-by: Bryce <bryce@brycecovertoperations.com>
2026-05-16 00:16:44 -07:00
..
2020-07-03 17:50:37 -07:00
2020-08-22 17:14:30 -07:00
2023-09-28 20:41:00 -07:00
2022-03-23 11:09:44 -07:00
2023-04-18 11:32:58 -07:00
2019-01-16 21:30:39 -08:00
2018-09-20 18:12:40 -07:00
2018-09-20 18:12:40 -07:00
2018-07-14 21:13:22 -07:00
2019-04-12 10:42:18 -07:00
2019-05-19 08:06:21 -07:00
2018-09-20 18:12:40 -07:00
2024-10-16 15:37:22 -07:00
2020-08-01 17:07:17 -07:00
2020-08-01 17:07:17 -07:00
2020-08-01 17:07:17 -07:00
2018-09-20 18:12:40 -07:00
2018-08-16 21:04:55 -07:00
2020-05-16 16:08:17 -07:00
2020-05-16 16:08:17 -07:00
2020-08-22 17:14:30 -07:00
2018-04-03 18:19:51 -07:00
2022-10-15 10:58:08 -07:00
2025-02-03 21:06:28 -08:00
2026-05-16 00:16:44 -07:00
2020-08-22 17:14:30 -07:00
2020-05-30 10:31:46 -07:00
2020-11-16 18:40:52 -08:00