Botanical extraction refineries, pyrethrum processors, bixa/annatto extractors, and steam-distillation essential oil plants across Nakuru, Nyandarua, West Pokot, Kericho, Meru, Laikipia, and Kwale transform high-value botanical raw materials—such as dried pyrethrum flowers (Chrysanthemum cinerariifolium), bixa seeds, geranium, rosemary, tea tree, eucalyptus, and avocado/macadamia press-cake—into standardized active concentrates and refined pale extracts for global agrochemical, pharmaceutical, flavor, and fragrance buyers. Operating collection centers, grist mills, solvent/CO2 extractors, and analytical laboratories on spreadsheets leads to overpaying for high-moisture flowers with degraded active content, unmonitored hexane/ethanol solvent evaporation losses, disconnected GC-MS/HPLC assay logs, and broken lot lineage between smallholder sacks and exported 25 kg / 200 kg lined steel drums.
At devManue, we design and build specialized Pyrethrum, Essential Oils & Botanical Extraction Refinery ERP systems. Our platform connects offline Bluetooth field scales and dryer moisture meters, laboratory active-assay tiered farmer pricing (such as paying per kilogram of pure pyrethrins or bixin content), continuous counter-current solvent and supercritical CO2 extractor telemetry, vacuum distillation mass-balance, and automated international export compliance.
1. Outgrower Flower/Biomass Collection, Dryer Moisture Gating & Assay-Tiered M-Pesa Payouts
Unlike bulk commodities bought purely by weight, botanical extraction economics depend entirely on the concentration of active molecules on a dry-weight basis—for example, pyrethrum flowers range from 1.1% to 2.2% total pyrethrins (Py I + Py II) depending on clone, altitude, and post-harvest solar/mechanical drying.
- Offline Bluetooth Collection Scales & Solar/Biomass Dryer Tracking: Field agents weigh wet or sun-dried flowers/herbs at society collection centers using Bluetooth crane scales paired to Android phones, printing instant thermal receipts and tracking weight loss across mechanical Forced-Air Drying (
FAD) tunnels down to≤10% moisture. - Composite Sample Barcoding & UV/HPLC Pyrethrin Assay Pricing: Each society or outgrower lot generates a blind-coded laboratory composite sample. Once the quality lab posts the moisture % and active assay (e.g.,
1.65% Pyrethrinsor3.2% Bixin), the ERP computes the exact bonus rate per kg and triggers bulk M-Pesa Daraja B2C farmer settlements after deducting clone seedling and solar-dryer advances. - Grist Milling, Pelletizing & Antioxidant Dosing: Tracks dried flower storage in dark silos, hammer-mill grist particle sizing, antioxidant stabilization (such as
BHTdosing to prevent photodegradation of pyrethrins), and marc/grist feed into extraction vessels.
2. Solvent/Supercritical CO2 Extraction Mass-Balance & Active Molecule Recovery Engine
During solid-liquid extraction (using food/pharma-grade n-hexane, ethanol, or supercritical CO2), plant engineers must track every gram of active ingredient entering in the raw grist versus exiting in the crude oleoresin, spent marc residue, and refined pale extract, while keeping solvent make-up losses below strict environmental and cost thresholds:
from decimal import Decimal, ROUND_HALF_UP
class BotanicalExtractionAndRefineryMassBalanceEngine:
"""
Computes active molecule input kg (e.g. Total Pyrethrins), crude oleoresin
and refined pale extract recovery efficiency %, spent marc residual loss,
and closed-loop solvent recovery variance.
"""
@staticmethod
def evaluate_extraction_and_refining_campaign(
dry_grist_fed_kg: Decimal,
grist_active_assay_pct: Decimal,
spent_marc_discharged_kg: Decimal,
spent_marc_residual_assay_pct: Decimal,
refined_extract_output_kg: Decimal,
refined_extract_assay_pct: Decimal,
solvent_charged_liters: Decimal,
solvent_recovered_liters: Decimal,
) -> dict:
active_input_kg = (
dry_grist_fed_kg * (grist_active_assay_pct / Decimal("100.0"))
).quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)
active_recovered_in_extract_kg = (
refined_extract_output_kg * (refined_extract_assay_pct / Decimal("100.0"))
).quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)
active_lost_in_marc_kg = (
spent_marc_discharged_kg * (spent_marc_residual_assay_pct / Decimal("100.0"))
).quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)
extraction_recovery_efficiency_pct = (
(active_recovered_in_extract_kg / active_input_kg) * Decimal("100.0")
if active_input_kg > Decimal("0")
else Decimal("0.0")
).quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)
solvent_loss_liters = max(Decimal("0.0"), solvent_charged_liters - solvent_recovered_liters)
solvent_loss_per_ton_grist_l = (
(solvent_loss_liters / (dry_grist_fed_kg / Decimal("1000.0")))
if dry_grist_fed_kg > Decimal("0")
else Decimal("0.0")
).quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)
# Standard refined pale pyrethrum extract is standardized at 25% or 50% w/w total pyrethrins
recovery_ok = extraction_recovery_efficiency_pct >= Decimal("91.5")
marc_exhausted = spent_marc_residual_assay_pct <= Decimal("0.08")
return {
"theoretical_active_input_kg": active_input_kg,
"active_captured_in_refined_extract_kg": active_recovered_in_extract_kg,
"active_lost_in_spent_marc_kg": active_lost_in_marc_kg,
"overall_active_recovery_efficiency_pct": extraction_recovery_efficiency_pct,
"solvent_loss_liters_per_ton_grist": solvent_loss_per_ton_grist_l,
"marc_exhaustion_compliant": marc_exhausted,
"campaign_verdict": "OPTIMAL_EXTRACTION" if (recovery_ok and marc_exhausted) else "INVESTIGATE_PERCOLATOR_OR_EVAPORATOR",
}3. Dewaxing, Standardization Blending, GC-MS CoA Generation & Export Hazmat Compliance
International buyers of botanical extracts and essential oils require rigorous analytical and regulatory documentation before shipment release:
- Winterization Dewaxing, Decolorization & Standardization Blending: Tracks sub-zero methanol/solvent winterization to remove plant waxes and resins, activated-carbon/clay decolorization into non-staining Pale Extract (25% or 50% w/w), and carrier-oil dilution blending to hit exact customer assay specifications.
- Automated GC-MS / HPLC Certificate of Analysis (CoA) Gating: Captures gas-chromatography and HPLC profiles (including
Pyrethrin I : Pyrethrin IIratio, residual solvent ppm, flash point, specific gravity, refractive index, and optical rotation for essential oils) and blocks drum dispatch if any parameter falls outside buyer contract limits. - UN-Certified Drum Serialization, SDS & By-Product Valorization: Prints GHS/IMDG Hazmat labels for nitrogen-blanketed lined steel drums, tracks spent pyrethrum marc processing into mosquito-coil powder or livestock feed cake, and generates full farm-to-drum organic/fair-trade traceability packs.
| Pyrethrum, Essential Oils & Botanical Extraction ERP Metric | Legacy Spreadsheets & Manual Tallying | devManue Custom Enterprise ERP |
|---|---|---|
| Outgrower Flower Pricing & Moisture | Flat-rate weight payments rewarding high-moisture, low-assay deliveries | Automated dry-weight & active-assay (% Pyrethrins/Bixin) tiered M-Pesa payouts |
| Extractor Active Mass-Balance | Blind extraction runs discovering low yields only after drum filling | Real-time grist input vs. spent marc residual vs. refined pale extract recovery % |
| Solvent Inventory & Desolventizer Loss | High unaccounted hexane/ethanol evaporation losses per ton of biomass | Per-campaign condenser & toaster solvent recovery tracking per ton of grist |
| Lab GC-MS CoA & Export Traceability | Manual Word/Excel CoAs with disconnected farm collection records | Automated GC-MS/HPLC spec gating, UN drum barcode labels & full batch lineage |
Related Enterprise ERP & Engineering Guides
- Avocado Oil Extraction & Cold-Press Decanter ERP — Tracking fruit dry-matter maturity, centrifuge oil recovery, and export lot traceability.
- GMP Pharmaceutical & Botanical Formulation ERP — Managing Electronic Batch Manufacturing Records (eBMR), QC quarantine, and FEFO release.
- Custom Botanical Extraction, Pyrethrum & Essential Oils ERP — Build your outgrower-to-refinery mass-balance platform with devManue.