Documentation

Everything you need to run EMS.

Quickstart guides, module-by-module references, and API documentation for the entire EMS platform. Updated weekly as we ship.

By module

Documentation, organised the way the app is.

Shipping

3-step creation wizard with document parsing (19+ vendor formats), customs / freight workflow, pickup scheduling with 12-skid truck capacity, damage reporting, BOL generation, and per-shipment accounting.

Receiving

Two-phase warehouse arrival gate, box-by-box and multi-select scanning, granular damage / missing tracking, QR skid labels, zone / slot assignment with neighbour overflow, and two-scan put-away verification.

Storage

Six-zone layout (A–D racked, F floor, H holding), colour-coded capacity thresholds, QR location labels, remainder skid tracking, inventory check workflow, and per-consignee roll-ups.

Production

Calendar scheduling with 60K daily cap, PO creation from shipment or inventory, box scanning during runs, skid building, batch ID generation, supervisor verification, auto-invoice and auto-outbound on completion.

Stamp Orders & Ledger

Federal + Ontario, Quebec, Alberta, Manitoba — full stamp order lifecycle from request to received, auto-deduction on production, refund logic on verification, security deposit tracking, and reconciliation.

Outbound & Logistics

Auto-grouped by consignee with 12-pallet limit, BOL + packing list + skid breakdown PDFs, loading checklist, calendar-based scheduling, partial delivery with return-to-origin, and alternative delivery address management.

Customer Portal

Scoped real-time portal with 21 views: shipment tracking, PO requests with date / stamp-sequence preferences, revision workflow, invoices, outbound documents, inventory drilldown, reports, sub-accounts with per-section permissions, and feedback.

Reports

8 report types: shipment summary, inventory, production, stamp accounting, outbound, import costs, consignee directory, inbound pickup. Summary and detailed views, date-range / consignee / region filtering, professional PDF with dual sign-off lines.

Invoicing

Auto-generated invoices at PO verification. Excise duty calculated per region (Canadian tiered formula per 2 mL), GST/HST by province, customisable fee presets, Draft / Issued / Paid / Archived lifecycle, customer portal visibility toggle.

Dashboard

Role-aware overview with KPI stat cards, unified calendar aggregating shipping / receiving / production / outbound events, department filtering, today's summary bar, and recent activity feed.

Settings & Admin

9 settings tabs: company, users (6 roles), modules, shipping / receiving, storage (zone rack config), production, invoicing (fee presets, tax rates by province, duty rate), data management (backup / restore / reset), and paginated audit log with CSV export.

Consignees

Customer management with multi-location addresses, consignee-scoped KPIs (units stamped over 30/90/180/365 days), pending actions checklist, and auto-linking to shipments, products, POs, and outbound orders.

Products & Inventory

Four-level product hierarchy (consignee / category / brand / variant), real-time inventory calculation, per-region stamp breakdowns, aging alerts at 60/90 days, quick adjustments, and product group merge with reference re-pointing.

Batch ID Tracking

Compliance-driven batch IDs scoped to PO + flavour + region. Configurable format template, three-stage lifecycle (generated / printed / applied), progress tracking, and full audit trail per batch.

For developers

REST API & webhooks.

EMS exposes a REST API for integrations with carriers, accounting systems and customer-side dashboards, plus webhooks for shipment, production and outbound state changes. Available on the Pro and Enterprise tiers.

  • OAuth 2.0 authentication with scoped tokens (read, write, admin)
  • Endpoints for shipments, boxes, skids, production orders, outbounds, stamp ledger, audit log
  • Webhooks: shipment.received, production.completed, outbound.dispatched, more
  • Rate limits: 1,000 req/min per token (negotiable for Enterprise)
  • Sandbox environment for integration testing
Request API access

Sample request

List shipments for the authenticated tenant.

curl https://api.ems-software.com/v1/shipments \
  -H "Authorization: Bearer $EMS_TOKEN" \
  -H "Accept: application/json"

{
  "data": [
    {
      "id": "ship_2026_0418",
      "awb": "AWB-2026-0418",
      "consignee_id": "cons_norwood",
      "status": "in-transit",
      "estimated_arrival": "2026-04-30",
      "boxes_count": 142,
      "skids_count": 12
    }
  ],
  "page": 1,
  "total": 47
}

Can't find what you need?

Email support and we'll either point you to the right doc or write a new one.

admin@excisems.com