Breaking
A held delivery-note line has its own error code
A delivery-note line’s received quantity is counted across every bill, so allocating a line another bill already matched is refused. That refusal used to beMatch.DnOverReceipt — the same code you get when a supplier bills for more than was ever delivered, even though the two need opposite responses from a reviewer.Adding an allocation now returns Match.DnLineHeld when the quantity you asked for fits inside what was received but is already matched elsewhere. The response names the bill holding it:matchGroupId and matchAllocationId, then post yours again. A match can only be changed while the bill holding it is in review — if that bill has been approved, the removal returns Match.BillNotInReview and the line cannot be reassigned.Match.DnOverReceipt keeps its original meaning: more than was ever received on that line. You still get it when releasing the other bill’s hold would not free enough quantity for your request.What to check. The HTTP status is still 409, so error handling keyed on the status is unaffected. If you branch on the error code, a conflict that previously arrived as Match.DnOverReceipt now arrives as Match.DnLineHeld.Updates
Finding which bill holds a delivery note
To answer the same question before you hit the error, list the bills matched to a delivery note, and readmatchedQuantity and fullyMatched on each line of the delivery note. The three-way matching guide covers the reassignment flow end to end.