Manufacturing

ERPNext Job Card Process Loss: Finished Goods Entry Fails (2026)

Recorded process loss on a Job Card and now the finished-goods Stock Entry refuses to create? That is a known ERPNext bug fixed in v15.47.0. Check whether your version is affected, and what to do until the upgrade window.

MManojJuly 29, 202610 min read
#erpnext#manufacturing#job-card#upgrades
Share

You run a Work Order for two units, transfer material against the Job Card, and the operator reports one good unit and one lost to process loss. Then ERPNext refuses to create the finished-goods Stock Entry — the transferred quantity does not appear to support the quantity you are finishing. Nothing about your data is wrong. This is a defect in how the material-transferred quantity was computed, it was fixed in ERPNext v15.47.0, and this guide tells you whether your version carries it and what to do if an upgrade is weeks away.

Is the loss actually scrap rather than process loss?

The two are modelled differently and the accounting diverges. If what you are recording is a saleable or disposable by-product rather than pure yield loss, scrap, wastage and by-products in ERPNext BOM covers the distinction before you get to this bug.

A validation that refuses a legitimate entry is worse than one that lets a wrong one through, because the operator's next move is to falsify the numbers until it submits. I am Manoj, ERPNext and Frappe implementation lead at Mith Tech in Bengaluru, and this one reliably produces exactly that behaviour on the shop floor.

What actually breaks

ERPNext tracks, on each Work Order, how much raw material has been transferred for manufacturing. That figure gates the finished-goods entry: you cannot receive more finished quantity than the transferred material supports. It is a sensible check, and on a normal job it is invisible.

Process loss disturbs the arithmetic. When an operator reports that of two units started, one was completed and one was lost in process, the material for both was genuinely consumed — the loss is not material that came back. The defect fixed in PR #44823 was that the material-transferred quantity was computed without properly accounting for the process-loss quantity recorded against the Job Card. The result is a Work Order that believes it has less transferred material than it does, and therefore refuses a finished-goods entry that is perfectly legitimate.

The original report is precise about the shape: a BOM containing a single operation, a Work Order for quantity 2 with Transfer Material Against set to Job Card, and a Job Card completing one unit with one unit of process loss. That configuration is not exotic — it is how any shop that tracks operations records a partial yield.

CalculatorVersion Exposure Checkerlink

Enter your ERPNext version to find out whether it predates the v15.47.0 fix, and what that means for your instance.

Affected — upgrade to v15.47.0 or later

Your version predates the fix. PR #44823 was merged and shipped in ERPNext v15.47.0 (released 25 December 2024), with backport #44832. Any v15 instance below 15.47.0 still has the incorrect material-transferred quantity when a Job Card records process loss.

Fix line: ERPNext v15.47.0, 25 December 2024 (PR #44823, backport #44832). Confirm against your own release notes before scheduling an upgrade window.

Check Transfer Material Against before you blame the version

If Transfer Material Against is set to Work Order rather than Job Card, this defect is not your problem and upgrading will not help. Confirm the setting on the failing Work Order first — it takes five seconds and it is the difference between a correct diagnosis and a wasted upgrade window.

Five symptoms, five different issues

Process loss in ERPNext manufacturing has had several distinct faults across v15 and v16, and they are easy to conflate because the operator-facing symptom — "it will not let me finish the job" — is identical. Pick what you are actually seeing.

InteractiveSymptom Deciderlink

Select the symptom you are seeing to get the underlying cause, the tracking issue, and whether the v15.47.0 fix applies.

Pick the symptom you are actually seeing.

The important separation is between the v15 defect this post is about and the v16 cluster around semi-finished-goods tracking in #52028, where Complete Job stops responding and the process-loss quantity cannot be entered in the Job Card quick-entry form at all. Those share a symptom and nothing else. Upgrading a v15 instance fixes the first; moving to v16 with Track Semi-Finished Items enabled can hand you the second.

There is also a longer-running friction that is not a bug at all: Job Card quantity validations assume a batch is completed whole, and shop floors rarely oblige. Completing partial quantities and creating stock entries against them is raised repeatedly (#49149, #50118) and is better treated as a batch-sizing decision than a defect to wait out.

Fix it

Code recipeDiagnose · Upgrade · Verify · Preventlink

Copy-paste diagnosis steps, the bench upgrade sequence, the exact reproduction to verify the fix, and the habits that avoid the adjacent issues.

Confirm you are looking at this bug and not one of the adjacent v16 issues, before you schedule anything.

text
1. Help > About  →  note the exact ERPNext version.
   Below 15.47.0 on the v15 line? You are affected.

2. Open the failing Work Order. Check:
     • Transfer Material Against = "Job Card"   ← the trigger
     • BOM has at least one operation
     • A Job Card exists with Process Loss Qty > 0

3. Compare these two numbers on the Work Order:
     • Material Transferred for Manufacturing
     • Qty to Manufacture
   If transferred looks short by exactly the process-loss
   quantity, that is the #44823 signature.

4. If "Track Semi-Finished Items" is enabled and you are
   on v16, stop — you are looking at #52028, not this.

Establish your version and the trigger

Help > About for the exact version string. Then confirm on the failing Work Order that Transfer Material Against is Job Card, the BOM has an operation, and a Job Card carries a process-loss quantity above zero. All three must hold for this to be the right diagnosis.

Confirm the signature

Compare Material Transferred for Manufacturing with Qty to Manufacture on the Work Order. If the transferred figure is short by exactly the process-loss quantity, you have found it. If the numbers look right and the entry still fails, the cause is elsewhere.

Upgrade on staging first

Back up the site with files, then update the erpnext app on the version-15 branch and run bench update --patch. Do this on a staging copy and run the reproduction before touching production. Version 15.47.0 was released on 25 December 2024, so for most instances this is a routine point-release move rather than a major upgrade.

Verify with the original reproduction

Build a BOM with one operation, raise a Work Order for quantity 2 with Transfer Material Against = Job Card, transfer material, then complete the Job Card with one unit completed and one unit of process loss. Create the finished-goods entry. It should now succeed for one unit.

Hold correctly if you cannot upgrade yet

Record the loss on the manufacture Stock Entry rather than the Job Card. It gets the job closed with the right stock outcome. Be clear about the trade-off: the loss is no longer attributed to the operation, so operation-level yield analysis is blind for every job you handle this way. Note which Work Orders were processed like this so you can explain the gap later.

When production and IT are different people

The operator hits this at 11pm on a shift, and the person who can authorise a bench update is asleep. What happens next decides how much damage the bug does.

Left to solve it alone, the reliable operator behaviour is to make the numbers agree: reduce the process loss to zero, inflate the completed quantity, or transfer extra material that was never issued. Each of those submits successfully and each puts a permanent lie into your yield data. The bug blocks one entry; the workaround corrupts the reporting the entire Work Order exists to produce.

The pattern that holds is a documented holding action plus a queue. Give the shop floor one sanctioned workaround — record the loss on the manufacture Stock Entry — and a place to log that they used it. A saved report on Stock Entry filtered to entries carrying that flag gives production and finance a list to revisit after the upgrade, and gives the operator permission to do the right thing at 11pm rather than inventing one.

Draft policy for your production and IT leads to ratify. Job Cards recording process loss on an instance below ERPNext v15.47.0 use the sanctioned workaround only, and never an adjusted completed quantity. Every use is logged with the Work Order reference on the shift handover. Upgrade to the current v15 point release is scheduled within one calendar month of this being identified, and process-loss yield reporting is treated as unreliable for the affected period rather than quietly restated. Thresholds and the upgrade window are a starting point — set them against your own change-control process and confirm with whoever owns your ERPNext instance.

Upgrade now, or hold and work around

FAQ

+Why can't I create the finished goods entry after recording process loss in ERPNext?

On ERPNext versions below v15.47.0, the Work Order's material-transferred quantity is computed without correctly accounting for the process-loss quantity on the Job Card. The Work Order then believes there is not enough transferred material to support the finished quantity, and blocks the Stock Entry. The data is fine; the calculation is not.

+Which ERPNext version fixes the Job Card process-loss bug?

ERPNext v15.47.0, released 25 December 2024. The change is PR #44823, with backport #44832. Any v15 instance at 15.47.0 or later has it; anything below does not.

+Does this affect ERPNext v14?

The fix landed on the version-15 line and was not carried back to v14. If you are on v14 and reproduce the symptom, treat it as one more reason to plan the v15 upgrade rather than attempting a cherry-pick into a branch you will not be maintaining.

+Is ERPNext v16 affected?

v16 contains the fix, but it has its own separate problems around Job Card completion and process-loss entry when Track Semi-Finished Items is enabled (#52028). Moving to v16 to escape this bug can hand you a different one, so stage semi-finished tracking before enabling it.

+How do I close the job if I can't upgrade right now?

Record the process loss on the manufacture Stock Entry instead of the Job Card. The stock outcome is correct and the Work Order closes. The cost is that the loss is no longer attributed to the operation, so operation-level yield reporting is incomplete for those jobs — log which ones so the gap is explainable.

+What happens if we just let operators adjust the quantities instead?

You trade a blocked entry for permanently wrong yield data. Zeroing the process loss or inflating the completed quantity makes the document submit and makes every downstream yield, variance and costing report wrong in a way nobody can reconstruct later. The bug is temporary; falsified quantities are not.

+Can I set process loss on the BOM instead of per Job Card?

Yes, and where the loss is a known, routine yield characteristic that is the better model — it is declared once and applied consistently. Per-Job-Card process loss is for genuinely variable losses, and it is where the validation edge cases in v15 and v16 cluster.

Closing

This is one of the easier ERPNext faults to deal with, because the fix exists, shipped in a point release, and needs no code from you. The part worth attention is not the upgrade — it is the fortnight before it, when the shop floor is deciding on its own how to get jobs closed. Sanction one workaround, log its use, and the bug costs you a maintenance window instead of a quarter of untrustworthy yield data.

Manufacturing entries failing and nobody's sure which version fixes what?

We map your instance against the open and fixed issues on your version, sequence the point releases safely, and stage the manufacturing flows before anything touches production.

Free · By email

Get practical ERPNext & automation guides

New implementation guides, cost breakdowns and open-source tips for Indian businesses — occasionally, straight to your inbox. No spam.

M

Written by

Manoj

Founder of Mith Tech, an open-source ERP & automation studio. Hands-on ERPNext/Frappe implementation across multi-branch, multi-warehouse Indian operations — GST/TDS/PT compliance, branch-level permissions, and custom Frappe apps that give management real-time visibility.

Keep reading

See what this looks like for your business

Book a free 30-minute audit. We'll map your workflows, find where time and money leak, and design an open-source stack you actually own — no per-user licence fees.

Book a consultation
0 0
Published on 29 July 2026

Manoj

Comments

No comments yet. Start a new discussion.

Ctrl+Enter to add comment