Actuals
Upload paired actuals source files, manage invoices, and track real performance.
The Actuals page is where your real sales data lives. Import transactions via a paired Actuals / AR + W&D upload, create records manually, and review your sales history. Actuals are the foundation for performance tracking — they’re what gets compared against your forecast on the Dashboard.
For a dedicated step-by-step guide to the uploader, templates, validation, and W&D allocation, see Actuals Uploading.
Courier parcel profiles do not change how actuals are recorded. They only affect forecast-side W&D derivation. Actuals continue to use the W&D values supplied in uploads or manual entry.
Getting Data In
Paired Actuals Upload
Navigate to Data → Actuals and click Upload paired actuals. The upload drawer is split into two sides:
- Left: your sales-side Actuals / AR file
- Right: your W&D file
Both files must be loaded and validated before the upload can be committed.
Supported formats
Each side accepts either CSV or XLSX.
Expected data
The app parses both files in-browser and normalizes them into a shared upload payload. The uploader also provides downloadable trimmed CSV templates for both sides, and matching example files live in docs/Example CSVs for uploads/.
The trimmed Actuals / AR template uses these columns:
ExternalIdInvoiceNumberReferenceInvoiceDateInventoryItemCodeDescriptionQuantityUnitAmountLineAmountType
The trimmed W&D template uses these columns:
ClientOrderInvoice DateTotal CostComments
Validation
Before committing, ProFeT validates the pair end to end:
- Required fields — Both files present, expected columns mapped, dates formatted correctly
- Reference checks —
ExternalId/Clientvalues must match customer identifiers in your tenant, andInventoryItemCodemust resolve to a SKU - Order reconciliation — AR and W&D rows are matched on
order number - Stock checks — Sufficient inventory available for each SKU (based on production batches)
- Duplicate detection — Already-posted invoice lines become no-ops rather than double counting
- Exception routing — unmatched AR and W&D rows stay visible in Review instead of silently disappearing
What Happens on Commit
When you click Commit Upload, ProFeT:
- Stores both original source files
- Creates one managed upload record for the pair
- Reconciles AR and W&D by order number
- Creates invoice and sale records, appending only genuinely new lines
- Calculates COGS using FIFO from production batches
- Allocates W&D across matched lines by line value
- Updates stock levels (reduces available inventory)
W&D Allocation
For matched orders, ProFeT pools the W&D total for that order and allocates it across AR lines by line value:
Line W&D = Order W&D × (Line Value ÷ Total Order Value)
If value is unavailable, the importer falls back to quantity and then finally to an even split.
This revenue-weighted allocation rule is the current v1 behavior and is documented intentionally so operators understand why higher-value lines absorb more of the order’s W&D cost.
Manual Entry
For one-off records or corrections, create individual sales directly in the interface. Fill in the customer, SKU, quantity, price, date, and costs. Manual entries go through the same COGS and stock calculations as uploaded data.
Viewing Actuals
The Actuals list shows all recorded sales with:
- Date, customer, SKU, and quantity
- Price, COGS, W&D, and retro amounts
- The upload batch they came from (for imported records)
Use filters to narrow by date range, customer, or SKU.
Upload History
Every import is logged. Open the upload drawer to see:
- The paired upload name and upload date
- Who uploaded it
- Matched invoice / sale counts
- Separate download links for the original AR and W&D files
This provides an audit trail and lets you re-download source files if needed.
How Actuals Connect to Other Features
| Feature | Connection |
|---|---|
| Dashboard | Actuals are the “actual” side of Forecast vs Actuals and Budget vs Actuals comparisons |
| Production Planning | Sales consume stock from production batches via FIFO |
| Retros | Retro discounts are calculated dynamically on qualifying sales |
| Live Forecast | Actuals provide the baseline for forecast accuracy measurement |
Handling Common Issues
Missing Customers or SKUs
If either file references customers or SKUs that don’t exist, validation will flag them. Add or map those records first, then re-run validation.
Insufficient Stock
If there isn’t enough inventory for a sale, you’ll need to add production batches for the affected SKUs before the upload can proceed.
Missing W&D Match
If an order exists in the AR file but not the W&D file, ProFeT can still post the sales row with £0 W&D and keep the exception visible in Review.
If a W&D row has no AR match, the cost remains visible in Review until it is classified.
Actuals Screens