# Command: `finance:invoices:ensure-indexes`

**Description**: Idempotently create MongoDB indexes for the vendor invoice ledger (migrates pre-\#850 names once)
**Status**: completed
**Started**: 2026-07-06 20:47:02 | **Ended**: 2026-07-06 20:47:02 | **Duration**: 0s
**Jobs**: 0 dispatched / 0 completed / 0 failed

---

## Command Output

20:47:02 [INFO] Lock acquired for command: finance:invoices:ensure-indexes

20:47:02 [INFO] 🔄 Migrating any pre-\#850 collection / field names

20:47:02 [INFO] ↻ Migrated 22 docs registrar\_invoices -\> vendor\_invoices

20:47:02 [INFO] ↻ Renamed field registrar\_slug -\> vendor\_slug (22 docs)

20:47:02 [INFO] ↻ Renamed Issue.entity\_type RegistrarInvoice -\> VendorInvoice (2 docs)

20:47:02 [INFO] 🔍 Ensuring vendor\_invoices indexes

20:47:02 [INFO] ✓ vendor\_source\_sourceid\_unique (created)

20:47:02 [INFO] ✓ status\_forwarded\_at\_idx (created)

20:47:02 [INFO] ✓ vendor\_issued\_at\_idx (created)

20:47:02 [INFO] ✓ external\_order\_id\_sparse (created)

20:47:02 [INFO] ✓ extracted\_text\_text (created)

20:47:02 [INFO] ✓ extraction\_confidence\_sparse (created)

20:47:02 [INFO] ✓ forwarded\_to\_sparse (created)

20:47:02 [INFO] 🔍 Ensuring vendor\_invoice\_emails indexes

20:47:02 [INFO] ✓ message\_id\_unique (created)

20:47:02 [INFO] ✓ received\_at\_idx (created)

20:47:02 [INFO] 🔍 Ensuring vendors indexes

20:47:02 [INFO] ✓ vendor\_slug\_unique (created)

20:47:02 [INFO] ✓ vendor\_is\_active\_idx (created)

20:47:02 [SUCCESS] ✅ Indexes verified.

20:47:02 [INFO] ✅ Indexes verified.

20:47:02 [INFO] Lock released for finance:invoices:ensure-indexes

---

## Jobs (0)

*No jobs dispatched*

*Exported at 2026-08-27T22:01:22+00:00*
