# Sales refusals (/docs/sales/refusals)

When the system refuses a step it shows the message in red and changes nothing. Find the message below.
`{placeholders}` stand for the real number, name or value.

Some refusals are the same everywhere in Factory OS: signature authority, a missing reason, access letters,
signed-record locks and the training gate. They are explained once in
[Signatures and refusals](/docs/get-started/signatures-and-refusals).

## Quotations [#quotations]

For [Quote and confirm a sales order](/docs/sales/quote-and-order).

### Editing a quotation [#editing-a-quotation]

| Message | When | What it means | What to do |
|---|---|---|---|
| `{pn} is a development item ({stage}) and is not qualified for production.` | Saving a quotation or order for a part number that is still a development item. | Engineering has not qualified it. | Wait for the item to reach **Qualified**, or choose another product. |
| `Add at least one product line with a product and quantity.` | Saving a document with no product line, or a line without a product. | Every document needs a priced line. | Add a product and quantity. |
| `Line {n}: quantity must be above zero.` | Saving a line with quantity 0 or empty. | Quantities start at 1. | Enter a quantity. |
| `Line {n}: quantity must be a whole number.` | A fraction in quantity. | Pieces are whole. | Enter a whole number. |
| `Line {n}: quantity cannot be above 100,000,000.` | A quantity above the limit. | Probably a typing error. | Correct it. |
| `Line {n}: unit price cannot be negative.` | A negative price. | Prices start at zero. | Correct it. |
| `Line {n}: unit price is too large.` | A price above 999,999,999,999.99. | Typing error. | Correct it. |
| `Line {n}: discount must be between 0 and 100%.` | A discount outside 0 to 100. | Discount is a percentage. | Correct it. |
| `Line {n}: tax must be between 0 and 100%.` | A tax rate outside 0 to 100. | Tax is a percentage. | Correct it. |
| `Line {n}: the line total is too large.` | Quantity times price above the limit. | Typing error. | Correct quantity or price. |
| `Unit price cannot be negative.` | A negative **Unit price** on the quotation. | Prices start at zero. | Correct it. |
| `Unit price is too large.` | **Unit price** above the limit. | Typing error. | Correct it. |
| `Valid until ({valid}) is before the created date ({created}).` | A validity date before the created date. | A quotation cannot expire before it starts. | Move **Valid until** later. |
| `Only draft {quotations or sales orders} can be edited` | Editing a quotation or order that has left **Draft**. | Documents are fixed once sent or confirmed. | Use **Reset to draft** on a quotation, or **Amend order** on a confirmed order. |

### Send to customer [#send-to-customer]

| Message | When | What it means | What to do |
|---|---|---|---|
| `Set the order risk on {key} before sending (ISO 9001 6.1, ISO 13485 7.1).` | Pressing **Send to customer** or **Send again** with no **Order risk**. | The risk is part of the offer. | Choose the **Order risk**. |
| `{risk}: record the risk actions (e.g. extra review, longer lead time, FAI) before continuing.` | Sending or confirming a quotation whose risk is not **Standard** and **Risk actions** is empty. | Risky orders need a recorded response. | Write the **Risk actions**. |
| `{key} was valid until {date}. Extend the validity date before sending it.` | Sending a quotation past its **Valid until** date. | An out-of-date offer must not go out. | Reset to draft, set a later date, send again. |
| `{pn} cannot be quoted: {reason}. {detail}` | Sending a quotation with a product that is obsolete, not released, unpublished, or not set up. The reason is the product's sell state, for example `obsolete`, `not released`, `unpublished` or `not set up`. | The product cannot be supplied. | Remove the line, or fix the product in Engineering or the catalogue. |
| `Review the message first: use Copy to clipboard or Send by email.` | The send dialog was submitted without a message. | The app records what was sent. | Open the dialog again and choose one of the two buttons. |
| `Enter a valid customer email address.` | **Send by email** with an invalid address. | The address is not an email. | Correct **Customer email**. |
| `Enter a valid customer email address, for example name@company.com.` | Saving a customer whose **Email** is not valid. Several addresses may be separated by commas or semicolons. | Not an email. | Correct it. |

### Confirm, reset and cancel [#confirm-reset-and-cancel]

| Message | When | What it means | What to do |
|---|---|---|---|
| `Set the order risk on {key} before confirming (ISO 9001 6.1, ISO 13485 7.1).` | **Confirm** with no **Order risk**. | See above. | Choose it. |
| `{key} is {in production or shipped}.` | **Reset to draft** on an order that is in production or shipped. | The order is under way. | Leave it. |
| `{key} has {mo}. Cancel the manufacturing order first` | **Reset to draft** while a manufacturing order exists. | Production is linked. | Cancel the manufacturing order. |
| `{key} has {do}. Cancel the delivery order first` | **Reset to draft** while a delivery order exists. | A delivery is linked. | Cancel the delivery order. |
| `{key} was amended (rev {n}). Sign the re-review before changing status.` | Any step on an amended order whose review is not signed again. | An amendment reopened the contract review. | Answer the review items and choose **Sign review**. |

## Sales orders [#sales-orders]

For [Quote and confirm a sales order](/docs/sales/quote-and-order#confirm-the-sales-order).

### Contract review and amendment [#contract-review-and-amendment]

| Message | When | What it means | What to do |
|---|---|---|---|
| `The contract review is closed.` | Editing or signing a review that is signed, or that belongs to an order which is not **Draft** and not reopened by an amendment. | The review is a signed record. | **Reopen review** on a **Draft** order, or amend a confirmed one. |
| `{id} is not a contract review item.` | A review answer for an unknown question. | Normally only an old screen sends this. | Reload the order. |
| `Resolve items marked No before signing` | **Sign review** with a **No** answer. | A **No** means a requirement is not met. | Solve the point, change the answer. |
| `Answer all {n} items before signing.` | **Sign review** with open questions. | All nine must be answered. | Answer the rest. |
| `Only the signed review of a draft order can be reopened.` | **Reopen review** on a review that is not signed, or an order that is not **Draft**. | Confirmed orders are changed through **Amend order**. | Use **Amend order**. |
| `Only a confirmed order with a signed contract review can be amended.` | **Amend order** on any other order. | Draft orders are edited directly. | Edit the draft. |
| `Enter a quantity above zero.` | **Submit amendment** with quantity 0 or empty. | See above. | Enter a quantity. |
| `Enter the quantity in whole pieces.` | A fraction. | Pieces are whole. | Enter a whole number. |
| `Enter the due date.` | No due date. | Required. | Enter it. |
| `The due date {date} is in the past.` | A new due date before today. | Dates move forward. | Choose a future date. |
| `Change the quantity or the due date.` | Both equal the current values. | Nothing to amend. | Change one. |
| `Enter the reason for the change.` | **Reason for change** empty. | Required. | Type the reason. |
| `Reduce the quantity on the order lines instead.` | An amendment that would take the first line to zero or below. | The change goes to one line. | Edit the lines on a draft, or use a smaller change. |
| `{key} is {status}. Change its quantity or due date with Amend order, which signs a revision and reopens the contract review, or set it back to draft (ISO 13485 7.2.2).` | Editing a confirmed order's fields directly. | Confirmed terms change only by amendment. | **Amend order**, or **Reset to draft**. |

### Confirm [#confirm]

| Message | When | What it means | What to do |
|---|---|---|---|
| `{channel} order: send the customer a written order confirmation and record its reference before confirming (ISO 13485 7.2.2).` | **Confirm** on a **Phone** or **Verbal** order with an empty **Written confirmation sent**. | Spoken orders need a written follow-up. | Send the confirmation and enter its reference. |
| `Customer PO order: record the customer's PO number before confirming {key} (ISO 13485 7.2.2).` | **Confirm** on a **Customer PO** order with an empty **Customer PO no.**. | The PO is the contract. | Enter the PO number. |
| `PO {cpo} of {customer} is already on open order {key}. Use the right PO number, or amend {key} instead of ordering twice (ISO 13485 7.2.2).` | **Confirm** with a PO number used on another open order of the same customer. | A double order. | Correct the number, or amend the other order. |
| `{pn} is in development ({item}, {stage}) and cannot be ordered for production until it is qualified.` | **Confirm** when a line names a product that a development item has not yet qualified. | The product is still being developed. | Wait for the QA manager to qualify the item, or remove the line. |
| `Cannot confirm {key}: {reasons}. Release the product or remove the line (ISO 13485 7.2.2).` | **Confirm** when a product is not ready. Reasons are: `{pn} is not in the product list`, `{pn} is {status} in Engineering`, `{pn} has no approved production method`, `{pn} has no machine option on {method}`. | Production cannot make it yet. | Ask Engineering to finish the product, or remove the line. |
| `Complete and sign the contract review before confirming {key}.` | **Confirm** without a signed review. | See [Do the contract review](/docs/sales/quote-and-order#do-the-contract-review). | Sign the review. |

### Cancel and reset [#cancel-and-reset]

| Message | When | What it means | What to do |
|---|---|---|---|
| `{key} has {mo} open ({status}). The order can be cancelled once the manufacturing order is completed.` | **Cancel** with an open manufacturing order. | Material would keep being used. | Complete the manufacturing order. |
| `{key} has delivery order {do} open. {Cancel it, or Return it to draft and cancel it} before cancelling the order.` | **Cancel** with a **Draft** or **Picked** delivery order. | The goods could still ship. | Follow the sentence. |
| `{key} has {mo}. Cancel the manufacturing order before setting the order back to draft.` | **Reset to draft** with a manufacturing order. | Linked. | Cancel the manufacturing order. |

### Plan production [#plan-production]

For [Plan production](/docs/sales/quote-and-order#confirm-the-sales-order).

| Message | When | What it means | What to do |
|---|---|---|---|
| `Every line on {key} already has a manufacturing order ({mos}).` | **Plan production** when each line has one. | Nothing left to plan. | Open the manufacturing order. |
| `Cannot plan {pn}: {reason}. Release it in Engineering first.` | **Plan production** for a product that is not ready (reasons as in **Confirm** above). | Not ready. | Finish it in Engineering. |
| `{key} is {shipped, closed short or cancelled}. A manufacturing order cannot be raised against it.` | Linking a manufacturing order to a finished sales order. | No demand is left. | Choose an open order. |

### Material requirements [#material-requirements]

| Message | When | What it means | What to do |
|---|---|---|---|
| `{key} is {status}. No purchase requisition can be raised for it.` | **Raise purchase requisition** on a **Shipped**, **Closed short** or **Cancelled** order. | Nothing to buy for. | None. |
| `{pr} is already raised for {item}.` | Raising a requisition that exists. | One per item. | Open that requisition. |
| `{key} is not short of any material.` | Nothing to raise. | Stock covers it. | None. |
| `{item} is not a material of {key}.` | An item that is not in the bill of materials. | Wrong item. | Reload the order. |

### Customers [#customers]

| Message | When | What it means | What to do |
|---|---|---|---|
| `A customer named {name} already exists ({code}). Use that customer, or give this one a different name.` | Adding or renaming to an existing name. | Documents find a customer by name. | Use the existing customer. |
| `{name} is named on {documents}, so its name cannot change. Add the new name as a new customer and use it on new documents.` | Renaming a customer used on documents. | Old documents would lose their customer. | Add a new customer. |

## Delivery orders [#delivery-orders]

For [Pick, pack and ship](/docs/sales/delivery-and-shipping).

### Creating a delivery order [#creating-a-delivery-order]

| Message | When | What it means | What to do |
|---|---|---|---|
| `{key} is {closed short or cancelled}. No delivery order can be created.` | **Create delivery order** on a finished order. | Nothing can ship. | None. |
| `{do} is still open for {key}. {Ship or cancel it, or Ship it, or return it to draft and cancel it,} first.` | **Create delivery order** while one is open. | One at a time. | Follow the sentence. |
| `{key} is fully shipped` | Nothing is left to deliver. | Done. | None. |
| `{so} is closed. A delivery order cannot be made for an order that was cancelled or closed short.` | Saving a delivery order for a finished order. | See above. | Choose an open order. |

### Checks on every delivery step [#checks-on-every-delivery-step]

These come from one rule that runs when you save a delivery order, build or load a pack, confirm a
dispatch and ship. The refusal is also written to the delivery order's history as `Delivery refused`.

| Message | When | What it means | What to do |
|---|---|---|---|
| `Sales order {so} does not exist.` / `{key} names no sales order.` | The delivery has no valid order. | Broken link. | Pick the right order. |
| `{so} is cancelled. A delivery of a cancelled order cannot ship.` | Any delivery step on a cancelled order. | Nothing ships. | None. |
| `{so} is {status}. Deliver against an order that is confirmed, in production or partially shipped.` | The order is **Draft** or another status. | Not yet confirmed. | Confirm the order first. |
| `{so} was amended (rev {n}). Sign the re-review before delivering against it.` | The order has an unsigned re-review. | Amendments reopen the review. | Sign the review. |
| `{key} is for {customer}, but {so} is for {customer}.` | Customers differ. | Wrong order. | Correct the customer. |
| `{pn} is not on {so}.` | The product is not on the order. | Wrong product. | Correct it. |
| `{key}: the quantity must be more than zero.` | Quantity 0. | | Enter a quantity. |
| `{key} is for {qty} pcs of {pn}, but only {n} pcs of {so} are still open (ordered {a}, shipped {b}, on other open delivery orders {c}).` | Quantity above what is still owed. | Over-delivering. | Reduce the quantity. |
| `{pn} is not in the product list, so no lot can be matched to it.` | The product has no catalogue name. | Setup gap. | Ask Engineering. |
| `Lot {lots} does not exist in stock. Pick the lot from the released stock of {item}.` | A lot that is not in stock. | Typing error. | Choose a real lot. |
| `Lot {lot} is {item}, not {item}. A delivery of {pn} can ship only lots of {item}.` | A lot of another item. | Wrong lot. | Choose a lot of the right item. |
| `Not released: {lots}. Only released lots can ship.` | A lot is not **Released** (quarantine, on hold, or not found). | QA must release it. | Wait for release, or choose another lot. |
| `Lot {lot} has only {n} pcs left{ ({m} pcs are already dispatched on other delivery orders)}; {k} pcs are on {key}.` | A lot holds less than the delivery takes. | Not enough stock. | Choose other lots or reduce the quantity. |
| `Packs and dispatches are recorded on the Packing screen.` | Editing the packing data by hand. | Packing has its own screen. | Use **Packing & dispatch**. |
| `{key} has packs built. Its quantity and lots cannot change; cancel it and create a new delivery order.` | Changing quantity or lots after packs exist. | Packs are labelled for those lots. | Cancel and create a new one. |

### Mark as picked, return, cancel [#mark-as-picked-return-cancel]

| Message | When | What it means | What to do |
|---|---|---|---|
| `{so} is closed. {do} cannot move on; it stays as the record.` | Moving a delivery of a finished order. | See above. | None. |
| `{do} has a dispatch confirmed, so goods have left. Ship it, or return the dispatch (signed, with a reason) before cancelling it.` | **Cancel** after a dispatch. | Goods left. | **Ship · issue CoC** or **Return dispatch**. |
| `{do} has a dispatch confirmed. Return the dispatch (signed, with a reason) before taking it back to draft.` | **Return to draft** after a dispatch. | | **Return dispatch** first. |
| `{do} has a dispatch confirmed, so goods have left. It stays as the record.` | Deleting it. | Not deletable. | None. |

### Packing [#packing]

| Message | When | What it means | What to do |
|---|---|---|---|
| `{do} is {status}. Nothing is left to pack.` | Opening a delivery that shipped or was cancelled. | Done. | None. |
| `{so} is {status}. {do} cannot be packed or dispatched.` | The order is closed. | See above. | None. |
| `Lot {lots} is not released by QA. Packs cannot be built.` | **Build and label next pack** with unreleased lots. | **Waiting for QA release**. | Wait. |
| `Every open piece is already packed.` | Building one pack too many. | Complete. | Load and dispatch. |
| `The delivery order has no lots to pack from.` | No lots on the delivery. | Needs lots. | Edit the lots. |
| `The lots on {do} hold only {n} pcs, fewer than its {m} pcs. Correct the lots before building more packs.` | Lots cover less than the quantity. | Short. | Add lots. |
| `{pack} is not an open pack of {do}.` | **Scan load** on a pack that is not open. | Wrong pack. | Scan an open pack. |
| `Scan or type the ID of {pack} to load it.` | **Scan load** with the **Pack ID** field empty. | Nothing was scanned. | Scan the label or type the ID. |
| `{scanned} is not {pack}. Scan the label of the pack that you load.` | **Scan load** with another pack's ID. | A wrong carton. | Scan the label of the pack in front of you. |
| `Lot {lots} is released but still in Q-FG-01. The store puts it away first: post its put-away in Stock movements.` | **Build and label next pack** from a released lot still in the outgoing-QC bin. | The store has not confirmed the move into finished goods. | The store keeper posts the put-away. |

### Dispatch [#dispatch]

| Message | When | What it means | What to do |
|---|---|---|---|
| `Packs of {do} are from {lots}, beyond the lots on the delivery order.` / `Packs of {do} left from {lots}, beyond the lots on the delivery order.` | **Confirm dispatch** or **Ship** with packs from other lots. | The lots shipped must be the lots sent. | **Return dispatch** and correct. |
| `Complete the dispatch checks first` | **Confirm dispatch** while a check fails. | See the five checks. | Fix the failing check. |
| `You packed {do}, so someone other than the packer confirms its dispatch. Ask another authorised colleague to sign it.` | **Confirm dispatch** by the person who built its packs. | The dispatch is checked by a second person (7.5.8). | Ask another colleague with delivery write access to sign. |
| `Pack, load and confirm the dispatch of {do} on the Packing screen before shipping.` | **Ship · issue CoC** with nothing dispatched. | Packing first. | Dispatch. |
| `{do} dispatched {n} pcs, more than its {m} pcs. Correct the delivery order before shipping.` | More dispatched than ordered. | Mismatch. | Correct the quantity. |
| `{do} has no confirmed dispatch to return.` | **Return dispatch** with none. | Nothing to reverse. | None. |

### Ship [#ship]

| Message | When | What it means | What to do |
|---|---|---|---|
| `{so} was closed short. A delivery of a closed order cannot ship.` | **Ship · issue CoC** on a closed order. | Finished. | None. |
| `Lots shipped must cover {n} pcs before shipping` | The lots add up to less than the quantity. | Short. | Add lots. |
| `Not released: {lots}. Only released lots can ship.` | A lot changed to **On hold** since. | | Ask QA. |
| `Lot {lot} has only {n} pcs left; {m} pcs are on this delivery order.` | Another shipment took the pieces. | | **Return dispatch**, correct, repack. |

### Certificate of conformance [#certificate-of-conformance]

For [Print the certificate of conformance](/docs/sales/delivery-and-shipping#print-the-certificate-of-conformance).

| Message | When | What it means | What to do |
|---|---|---|---|
| `No certificate yet: ship {do} first; shipping issues its certificate of conformance.` | Opening the certificate of a delivery order that has not shipped. | The certificate is issued by **Ship · issue CoC**. | Ship the delivery order, then open the certificate. |

## Close short and balance [#close-short-and-balance]

For [Ship part of an order or close it short](/docs/sales/partial-and-close-short).

| Message | When | What it means | What to do |
|---|---|---|---|
| `{so} has {mo} open ({status}). The balance can be closed short once the manufacturing order is completed or cancelled.` | **Close short** with a manufacturing order open. | Production would keep running. | Complete or cancel it. |
| `{so} has delivery order {do} open. {Ship or cancel it, or Ship it, or return it to draft and cancel it,} before closing the balance short.` | **Close short** with an open delivery. | Goods could still ship. | Follow the sentence. |
| `{so} has no balance left to close. It is fully shipped.` | **Close short** on a fully shipped order. | Nothing to close. | None. |
| `Close short needs a reason. Enter why.` | **Close short** without a reason of 4 characters or more. | A reason is kept with the signature. | Type it. |

## Returns [#returns]

For [Returns (RMA)](/docs/sales/returns).

| Message | When | What it means | What to do |
|---|---|---|---|
| `Select the quarantine location` | **Receive into quarantine** with no **Quarantine location**. | Returned goods go on hold in a bin. | Choose a location. |
| `Record the inspection result and the disposition` | **Record inspection** with an empty result or disposition. | Both needed. | Fill them. |
| `A fault was found: link the NCR` | **Record inspection** with a fault disposition and no **NCR**. | A fault needs an NCR. | Link one, or **Return as is (no fault found)**. |

Signing authority for these steps: **Authorise return**, **Refuse** and **Close · disposition done** need
a QA engineer. **Receive into quarantine** needs a store keeper. **Record inspection** needs a QC inspector.
**Return dispatch** needs a QA manager. A refusal for the wrong signer is explained in
[Signatures and refusals](/docs/get-started/signatures-and-refusals#who-may-sign).

<NextSteps>

<NextStep href="/docs/sales/quote-and-order" title="Quote and confirm a sales order" description="Back to the first task." />

<NextStep href="/docs/get-started/signatures-and-refusals" title="Signatures and refusals" description="Messages shared by every flow." />

<NextStep href="/docs/sales/delivery-and-shipping" title="Pick, pack and ship" description="The delivery task." />

</NextSteps>

{/* Sources: apps/api/src/modules/mes/sales/{quotes,orders,gates,hooks,review,requirements,packing,returns}.ts, packages/contracts/src/mes/core/lines.ts, production-execution/order.ts. About 100 messages covered. */}
