Cost ingestion

Paste cost-basis data from a Dropbox spec sheet, vendor quote, or wherever it lives. Each entry stages one proposed_action for HITL approval. On approval, pricing_master.cost_basis fills for every row matching the item code (optionally scoped to one school year).

Examples + accepted formats
PUB6000,12.50 PUB6000,12.50,Spec sheet 2026-05 PUB6000 12.50 (whitespace also works) PUB6000 12.50 Vendor quote (tab-separated also works) Skip blank lines or comment lines starting with #
Use the Preview parse button first to verify what gets staged.

After staging

Each entry creates a pending row in proposed_actions. To bulk-approve from chat:
"Bulk approve all bulk_cost_basis actions I just staged" — or call propose_bulk_approve({action_type: 'bulk_cost_basis', dry_run: false}).