Complete a job without counting stock twice
Updated 2026-09-11A finished job should leave two clear records: what the workshop used and what it earned. This guide explains when Kraftius records them and what to do if the job needs a correction.
1. Check the workshop workflow
New workshops deduct stock at Ready and also check for any unrecorded stock at Completed. Completed also records income. If you already use Kraftius, your saved workflow stays unchanged.
- As an administrator, open Settings → Workflow.
- If you see “Complete stock booking”, read the explanation and choose “Enable for Completed”.
- Review the status settings, then save the workflow. This changes future status entries; it does not replay old jobs.
- Custom statuses keep their own automation switches. Recording income and deducting stock are independent choices.
2. Check the job before recording it
Confirm the materials and quantities on every bed, the number of runs, and any additional hardware. Material quantities use the inventory material’s waste allowance when stock is deducted. Hardware linked to an inventory item deducts that item; custom text-only hardware has no stock link.
- Check the quote and any extra services.
- For internal or other non-billable work, select the option to exclude the job from income before recording stock or income.
- Check available stock. Kraftius currently stops stock at zero rather than recording a negative balance. The movement records the actual deduction, so a shortage still needs your attention.
3. Mark the job Ready or Completed
Ready deducts stock when that behavior is enabled. Completed records income when enabled and deducts stock if the completion stock setting is enabled and stock has not already been processed. Going straight to Completed follows those same settings.
A job already processed at Ready is not deducted again at Completed. Starting a new job directly in an automated status also applies its configured stock and income actions.
The job save and these actions succeed together. If the save reports a posting failure, the changes are rolled back. You can retry the save.
4. Check the records
Review the item’s stock history and the Business ledger. Automatic income uses the customer total including applicable tax, rather than an editable cached total. Internal jobs and zero-value jobs can complete without adding an income entry.
An income entry records what the job sold for. It is not evidence of payment, so use it to read the workshop’s turnover rather than as proof a customer has settled.
The project remembers that these actions were processed even when there was no amount to record. Reopening it or deleting the automatic income entry does not trigger a new entry.
5. A worked example
This is a sample job with invented numbers, not a real workshop’s records. Every rate below is a setting someone chose; none of them is a Kraftius default, and the tax rate is illustrative rather than advice.
The job is two runs of a printed bracket, priced in euros. Its sample settings are a 5% waste allowance on the material, a 50% margin, and 20% tax with the job not marked tax-exempt. There is no labour, setup fee, rush charge, extra service, manual override or discount.
- Starting stock: 1,000 g of PLA, bought at €0.02/g and sold at €0.03/g.
- Each run uses 100 g and takes 2 hours; the bed is set to 2 runs.
- The printer has a manual rate of €3.00 per hour, which already includes its electricity allowance.
- Four threaded inserts are linked for the whole job at €0.50 each, from a stock of 20.
6. What the example records, step by step
The waste allowance is one lever applied to both sides: the workshop is charged for 210 g and 210 g leaves the shelf, so the quote, the cost and the stock record reconcile.
Margin applies to machine time and material only. The four inserts are added afterwards at what they cost, so they earn nothing — which is why €36.60 becomes €38.60 rather than being marked up again.
- Stock moves once, at Ready. Completing the job afterwards checks for anything unrecorded and finds nothing left to do.
- Income appears once, at Completed, and is the customer total including tax — €46.32, not the €38.60 shown before tax.
- Going straight to Completed with completion stock enabled gives the same balances and the same single income entry: 790 g, 16 inserts, €46.32.
- Reopening the job and completing it again repeats neither. The job remembers that each step was processed.
7. Three exceptions worth knowing
The same job behaves differently in three situations that come up in ordinary use.
- An internal job marked to be excluded from income still consumes its 210 g and 4 inserts, but adds no ledger entry.
- If only 150 g were on the shelf, the deduction stops at zero rather than going negative, and the movement records the 150 g actually taken — so a shortage still needs your attention.
- Correcting a finished job means an explicit stock adjustment or ledger correction, not editing its recorded quantities. Extra production is a new job.
8. What an assigned operator sees
An operator assigned to this job, with pricing hidden, can update the details they are responsible for: notes, scheduling, progress, and the number of inserts used. They cannot see the €46.32 total, the rates behind it, or the margin, and saving the job back does not overwrite the prices an administrator set.
That operator also cannot reach a job in another workshop, or one in this workshop they are not assigned to, whether by opening it directly or by asking for it by name.
9. Correct a mistake explicitly
Once stock or income has been recorded, the job’s quantities and pricing inputs are fixed. Reopening it does not undo the stock movement, reverse income, or unlock those inputs. You can still change notes, scheduling and progress.
Use an explicit stock adjustment or ledger correction for a recording mistake, and include a note explaining why. For extra production, create a new job. Moving beds out of an already-recorded job is blocked because it would change the job behind the existing records.
Older jobs with incomplete or missing history need review during the release. An empty history does not prove that stock was never used or income was never recorded.