Step-by-step workflow for production runs โ follow this order every time
Use a Production Run ID to link all records together across multiple days. Create one in the Production Run Manager below before you start.
๐ฏ Production Run Manager
Active Production Run
Previous Runs
๐ Pre-Production Checklist (do in this order)
${[
['1','Log Deliveries','HACCP Records โ Intake Records โ + Log Delivery','Log any ingredients received. This updates stock automatically.','haccp'],
['2','Pre-Production Check','Checklists โ Pre-Production โ complete all items','PPE, hand washing, production area check, equipment sterilisation.','checklists'],
['3','Cleaning Record','Checklists โ Cleaning โ add pre-clean entries','Log the pre-production clean โ date, area, cleaned by, checked by.','checklists'],
['4','Glass & Plastic Register','Checklists โ Glass & Plastic โ tick all items','Check every item on the register is intact. Sign off.','checklists'],
].map(([num,title,where,desc,nav])=>`
${num}
${title}
${where}
${desc}
`).join('')}
โ๏ธ During Production
${[
['5','Production Record','HACCP Records โ Production Records โ + Add Record','Record each product: bulk qty, batch code, organic status, checked by. Use your Production Run ID to link everything.','haccp'],
['6','Weigh & Record Ingredients','Production โ Plan Production Run','Use this to check stock levels and calculate exact ingredient quantities needed per product.','production'],
['7','GMP Checks','Checklists โ GMP Checks โ complete','General manufacturing practice checks during production.','checklists'],
].map(([num,title,where,desc,nav])=>`
${num}
${title}
${where}
${desc}
`).join('')}
๐ฆ Packaging (separate session, same Production Run ID)
${[
['8','Pre-Packaging Check','Checklists โ Pre-Production โ complete again for packaging day','Same checks as blending day โ separate record, same Run ID.','checklists'],
['9','Cleaning Record','Checklists โ Cleaning โ add pre-clean entries for packaging day','Log the packaging area clean.','checklists'],
['10','Packaging Production Record','HACCP Records โ Production Records โ + Add Record','Stage: Packaging. Link to original bulk batch code. Record actual unit count.','haccp'],
['11','Confirm Batch','Production โ Plan Production Run โ Confirm','Enter actual yield vs planned. Record allocations (backorders, stock, samples).','production'],
].map(([num,title,where,desc,nav])=>`
${num}
${title}
${where}
${desc}
`).join('')}
โ Post-Production
${[
['12','Post-Production Clean','Checklists โ Cleaning โ add post-clean entries','Log the post-production clean.','checklists'],
['13','Stock Take (if needed)','Ingredients โ Stock Take button','Compare system stock to physical count. Record any variance.','ingredients'],
['14','Verify Audit Trail','Batches โ Audit Trail','Search your batch code or Production Run ID to see everything linked together in one view.','batches'],
].map(([num,title,where,desc,nav])=>`
${num}
${title}
${where}
${desc}
`).join('')}
๐ก Inspector tip: When an inspector visits, go to Batches โ ๐ Audit Trail and search any batch code. It shows every linked record โ checklists, cleans, production records, intake records โ in one printable view.
Optional at this stage โ can be filled in later via Batch Records โ โ๏ธ Edit
Enter how many units actually came off the production line. Leave blank if packaging has not happened yet โ come back to Batch Records to update once packaging is complete.
4. Allocate Finished Units Complete after packaging
Optional โ update via Batch Records โ โ๏ธ Edit once packaging is done
Split the actual yield across allocations. Leave at zero if packaging is not yet complete.
โ Ready to confirm?
Confirming will deduct ingredients from stock and create the batch record. Sections 3 and 4 (yield and allocations) can be left blank now and filled in later via Batch Records โ โ๏ธ Edit once packaging is complete.
Batch Records
Full production history, yield tracking & traceability
All Batches
Finished Goods Stock
Batch No.
Product
Date Made
Planned
Actual Yield
Yield %
Backorders
To Stock
Expiry
Status
Order Planner
Plan multiple production runs and calculate what to order
Auto-generated from live CORA data โ always current. Each brand has its own separate HACCP plan. Download any time for an auditor.
NewGen Xtra โ Food Supplements
Food safety HACCP covering all ${Object.keys(FORMULAS.ng||{}).length} supplement products
Aurra Organics โ Essential Oils & Cosmetics
Separate HACCP covering EO blends, candles and skincare
Le Spa Organics โ Premium EOs
Cosmetic product safety plan for premium essential oil range
All
๐จ Label Artwork
SDS Sheets
Certificates
HACCP
Compliance
Label Batch Overlay Tool
Add Batch & Expiry to PDF Artwork
Upload your print-ready PDF artwork and the app will overlay the batch number and expiry date. Download ready to send to your printer โ no InDesign needed.
๐ Coming in Phase 2: PDF overlay will be enabled once the app is hosted on your server with PHP backend.
Staff Mode
Simple checklist for production staff โ tick off each ingredient as you weigh it
EU Transfers
Track stock shipped to Vivante Holdings Oร (Estonia)
EU Responsible Operator: Vivante Holdings Oร, Ahrti 12, 10151 Tallinn, Estonia All transfers logged here maintain the UKโEU traceability chain.
Transfer Date
Batch No.
Product
Units
Destination
Reference
Status
โก CORA Integrations & Alerts
SMS alerts, webhook endpoints & AI agent integration
SMS Alert Configuration
Alert Settings
Webhook API Endpoints
These endpoints will be active once hosted on your server. Use these with your automation platform and AI agents to read/write data.
GET/api/ingredients โ List all ingredients with stock levels
GET/api/ingredients/{name} โ Get specific ingredient stock
Your AI-powered operations management system. Voice-enabled, fully integrated, built for HLA Labs Limited.
๐พ Data Backup & Restore
Export & Import Your Data
Export all your CORA data (ingredients, batches, records, suppliers) as a backup file. Import it after any software update to restore everything instantly. Always export before uploading a new version.
โ ๏ธ Importing data will replace your current data. Always export first as a safety backup.
Company Details
EU Operator
๐ญ Warehouse Locations
Configurable Locations
Add all locations where stock is held โ UK sites, EU warehouse, fulfilment centres etc. Used in stock transfers and batch records.
Batch Number Format
[PRODUCT CODE]-[YYDDD]-[SEQ] โ e.g. SF-26080-01
This format is locked in and auto-generated. Product codes are managed per formula.
๐ Change Password
Use the ๐ Password button in the top right to change your password or update your security question.
๐ WooCommerce Integration
NewGen Xtra โ Stock Sync
Connect CORA to your WooCommerce store. When you confirm a batch, finished goods stock automatically updates in WooCommerce. When an order is placed, stock is automatically deducted in CORA.
Setup steps:
1. Go to WooCommerce โ Settings โ Advanced โ REST API โ Add Key
2. Set permissions to Read/Write
3. Copy the Consumer Key and Consumer Secret
4. Open cPanel โ File Manager โ cora-backend/config.php โ Edit
5. Paste credentials into WC_NX_CONSUMER_KEY and WC_NX_CONSUMER_SECRET
6. Also set a WC_WEBHOOK_SECRET โ any random string
7. Come back here and click Test Connection
๐ฆ Pack Mapping Guide
For CORA to correctly deduct stock when packs are sold, populate these custom fields on each WooCommerce product:
Field Name
Singles Example
Pack Example
Mixed Pack Example
ngen_ai_family
Superfoods Plus
Superfoods Plus
Mixed Pack
ngen_ai_type
single
bundle
bundle
ngen_ai_pack_size
1
7
1
ngen_ai_aliases
SF, Superfoods
SF7, 7 pack SF
mixed, variety pack
ngen_ai_contents
leave blank
leave blank
SF:2,PTO:1,PTC:1
The ngen_ai_contents field uses format ProductCode:Qty,ProductCode:Qty โ CORA will deduct each component automatically when a mixed pack is sold.
๐ Webhook URL
Add this webhook in WooCommerce โ Settings โ Advanced โ Webhooks โ Add Webhook: