This importer lets you bulk assign costs to inventory tracked by product, batch, or package—enabling more accurate financial reporting and margin tracking.
✅ What You Can Do
Add cost records for:
Product-tracked items
Batch-tracked items
Package-tracked items
Assign Cost Types, quantities, and per-unit costs
Add optional descriptions
Validate license and location automatically
⚠️ You may only populate one of: Product ID, Batch ID, or Package ID per row
⚠️ This is an add-only tool; it does not edit or remove existing costs
🧾 Preparing Your CSV File
🔻 Step 1: Download the Template
Go to Settings > Import Data > Cost Records
Click Download Template
🧩 Step 2: Fill in Cost Fields
Column | Required | Notes |
Product ID | Conditional | Use only if product-tracked. Do not combine with Batch or Package ID |
Batch ID | Conditional | Use only if batch-tracked |
Package ID | Conditional | Use only if package-tracked |
License Number | ✅ if Product or Batch ID is used | Must match an active license |
Location Name | ✅ if Product or Batch ID is used | Must match an existing location tied to the license |
Cost Type Name | ✅ | Must match an active cost type |
Cost Quantity | ✅ | Must be a positive number |
Cost Per Unit | Optional | Can be empty or negative if allowed by cost type |
Cost Description | Optional | Additional context |
⚠️ License and Location must be empty if Package ID is used
📤 Uploading Your File
Go to Import Costs
Upload your completed CSV
Map fields in the UI
Submit your upload
✅ On success, all cost records will be created
📎 If errors occur, an annotated CSV will identify them
⚠️ Validation Rules
Rule | Detail |
One ID field only | Only one of Product ID, Batch ID, or Package ID should be filled |
Cost Per Unit | Must be blank if the Cost Type disallows inline edits |
Cost Quantity | Must be a valid positive decimal number |
License + Location | Required for Products/Batches, forbidden for Packages |
Matching IDs | Product must be product-tracked, Batch must exist, Package must exist |
Rows violating these rules are skipped and marked in the returned error CSV.
💡 Pro Tips
Use
Cost Per Unitonly if your Cost Type allows manual entryWant to apply a cost to multiple IDs? Duplicate the row with different IDs
Prepare Cost Types ahead of time in Settings > Cost Types
