Actions and results

What each Purchasing button and automatic behaviour does, with worked numbers and what the system refuses.

On this page (57)
Purchase dashboardPurchase requisitionsPurchase requisitionRequisitions to orderRequests for quotationPurchase orderProcurement panelGoods receiptCalls for tendersCall for tenders recordSupplier's quote dialogAuction record dialogSupplier portal auctionPunch-out cataloguesShop a catalogueCart dialogAgreement dialogPurchase agreementsSupplier rebatesShipping notice dialogInbound shipmentsVendor billsBill matching panelBills on holdThree-way match exceptionsDebit notesRetentions heldEarly paymentsPayment holdsSuppliersSupplier recordOpen purchase ordersOverdue supplier receiptsSupplier spendSupplier performanceReceived not invoicedConsignment stockPurchase settingsReceipt tolerancesBill matching policiesApproved suppliersSupplier portal loginsSupplier applicationsSupplier registration formSupplier changesPortal homePortal loginPortal purchase ordersPortal shipping noticesShipping notices (staff)Portal invoicesPortal bills and paymentsPortal tenders and auctionsPortal early payment offersPortal My detailsPurchasing > FeaturesPurchasing > Features > Fields

Purchase dashboard

ActionWhenWhat you doWhat happens
Figures match the documentsPosted bills and debit notes, draft RFQs, confirmed POs this monthOpen Purchase > Dashboard with MTD; compare Purchase with bills less debit notes (net of tax), RFQs with draft purchase documents dated this monthFigures equal the hand count; Open PO value equals the Open purchase orders report total
Vendor, buyer and period filtersTwo suppliers with documentsPick one vendor; then switch period Today / QTD / YTD / CustomFigures narrow to that vendor; the date range shown changes; Custom shows MTD figures
AlertsA submitted requisition, a receipt waiting more than 3 daysRead the alert list'PR pending approval' and 'Receipts waiting > 3 days' counts match; other alerts (agreements ending, notices late, retentions) are counts of real records

Purchase requisitions

ActionWhenWhat you doWhat happens
Create and save a requisitionUser with purchase.requisition.createNew; purpose, needed by, department; two lines (one catalogue, one non-catalogue); SaveSaved as Draft with a number; Estimate = sum of lines; chatter shows the save

Purchase requisition

ActionWhenWhat you doWhat happens
Edit only by the requester while draft or returnedRequisition of user A in DraftAs user B (also with create right) open it and Edit; SaveServer refuses 'Only the requester edits their requisition.'; once submitted even A gets 'Only a draft or returned requisition can be edited.'
Submit within budgetNo blocking budget, or budget large enoughOpen the draft; SubmitStatus 'Waiting for approval'; Budget smart button 'Within' (or '-' with no budgets)
Submit over a blocking budgetBudget 1,000 with a blocking control on the expense account; requisition of 1,200SubmitStatus 'Held by budget'; red message with the budget text; Approve is not offered; Return is
Approve by another personSubmitted requisition of user A; user B holds purchase.requisition.approveAs B: ApproveStatus Approved; decided by B; a budget commitment is recorded for the estimate where budgets are active
Requester cannot approveUser A holds both create and approve rightsAs A submit and then Approve your own requisitionRefused 'Somebody other than the requester must approve this requisition.'
Budget re-checked at approvalSubmitted within budget; then another posting uses the budget upApprover: ApproveRefused 'The budget no longer covers this requisition; it is held. ...' and status becomes Held by budget
Return with a reasonSubmitted or budget-held requisitionApprover: Return; type the reason; ConfirmStatus Returned; message shows 'Returned: <reason>'; requester can edit (back to Draft on save) and Submit again
CancelDraft or approved requisition not yet on any orderCancelStatus Cancelled; any budget commitment released; a requisition with lines on an order is refused 'Part of this requisition is already on an order; cancel those lines on the order instead.'

Requisitions to order

ActionWhenWhat you doWhat happens
Consolidate lines into one RFQTwo approved requisitions for the same product and the same estimated priceTick both lines; choose supplier; Create RFQ (2)One draft RFQ opens with ONE line for the summed quantity at the estimated price; 'Purchase requisition' field lists both numbers; both requisitions show Ordered and the RFQ under Ordered on
Different estimates stay separateSame product on two requisitions at 100 and 110Tick both; Create RFQTwo RFQ lines (one per price); queue empties for those lines
Non-catalogue lineApproved requisition with a line that has no productTick it; Create RFQRefused '<description> has no product. Choose the product to order it as.' (the screen offers no product picker

Requests for quotation

ActionWhenWhat you doWhat happens
Create an RFQSupplier Test Supplier LLC, purchasable product with VAT 5%New request; supplier; date; line 10 x 450, discount 5%; SaveDraft number issued; totals 4,275.00 + VAT 213.75 = 4,488.75; shown under Requests for quotation
Supplier price fills the lineProduct has a supplier price row for this supplier (tiered or per carton)Add the product without typing a pricePrice is the supplier's price for that quantity and date; a per-carton quote shows the line in cartons; empty supplier row -> product cost
Print and email attachmentA saved RFQPrint > Request for quotation; Download PDF; Download email attachmentPDF of the RFQ (draft only); copy label Original/Duplicate; 'PDF downloaded and archived. Attach it to your email; no email has been sent.'
Edit, delete a draftDraft RFQEdit lines; Save; then Actions > Delete and confirmSaved with revision; Delete removes it ('Only a draft can be deleted. Cancel it, or archive it.' for anything later)

Purchase order

ActionWhenWhat you doWhat happens
Approve order (confirm) with no tierNo approval tiers set; RFQ with linesApprove orderState Confirmed; the record moves to Purchase orders; a draft receipt is raised into the order's warehouse; Receipts smart button = 1
Supplier field settings at approvalPurchase field settings: Supplier reference = Required, Requested receipt date = RequiredApprove an order with both empty; fill them; ApproveRefused 'Supplier reference is required by this company before this step.' (then the receipt date one); confirms once both are filled
Hidden supplier referenceSupplier reference = HiddenCreate an order and type a supplier reference (or send one by API)Refused 'Supplier reference is turned off for this company.'; the field is not shown on new orders
Framework agreement ceilingActive agreement PA-0001 ceiling 1,000 with this supplier; one confirmed call-off of 700New order naming PA-0001 with net 400; Approve orderRefused 'PA-0001 has 300.00 of its 1000.00 ceiling left; this call-off is 400.00.'
Amend a confirmed order (revision)Confirmed order, nothing received or billedProcurement > Amend; reason; ConfirmVersion 1 kept under Earlier versions; unstarted receipt cancelled; order back to draft as version 2; needs its approvals again
Amend refused after receipt or billReceipt validated (or a bill raised)AmendRefused 'Goods were received on <REC>; correct the order with a return, a debit note or a new order, not an amendment.' / 'Bill <no> bills this order; it cannot be amended.'
Reset to draftConfirmed order whose receipt is still openReset to draftRefused 'Cancel receipt <REC> before returning this order to draft.'; after cancelling the receipt it returns to draft
CancelDraft RFQ and a confirmed orderCancel on eachState Cancelled; listed under Purchase orders with Closed stage; no reason is asked
Receive & bill in one stepConfirmed order with no receipt (no warehouse)Receive & bill in one stepGoods and the payable post together; button disappears; Journal entry smart button shows the entry
DuplicateA confirmed orderActions > DuplicateNew draft RFQ with the same supplier, header and lines, today's date, own number; no receipts or approvals
Call-off inside the ceiling uses the agreement priceAgreement PA-0001 in force, product at 45.00, ceiling 100,000.00, supplier SNew PO for S with Purchase agreement = PA-0001; add the product (price fills 45.00); Approve orderConfirmed; the agreement shows Called off = the order's net and Left = ceiling less that
Value ceiling stops a call-offAgreement ceiling 100,000.00; live call-offs net 70,000.00Confirm an order with net 35,000.00 naming itRefused 'PA-0001 has 30000.00 of its 100000.00 ceiling left; this call-off is 35000.00.'
Quantity ceiling stops a call-offAgreement allows 500 of product; 450 already called offConfirm an order of 100 of itRefused 'PA-0001 allows 500 of <code>; 450 is already called off.'; a product not on the agreement: '<code> is not on PA-0001.'
Retention terms validatedDraft POSave with Retention % 150; with Retention due after -5 days'Enter at most 100.'; 'Enter the number of days after the bill that the retention falls due.'

Procurement panel

ActionWhenWhat you doWhat happens
Approval tiers: one approvalTier from 10,000 needs 1 approval; RFQ total 12,000 (incl. VAT) raised by user AA presses Approve order; B (purchase.order.approve) presses Approve this version; A presses Approve order againFirst refused '<PO> needs 1 approval at 12000.00; it has 0 for this version.'; badge 'Approvals 1 of 1' after B; then confirms
Approval belongs to a versionApproved draft with 'Approvals 1 of 1'Edit a line price; Save; read the approvals tableOld approval shows 'No - the order changed'; badge back to 0 of 1; confirm refused until approved again
Two approvals by different peopleTier needs 2 approvalsB approves; B approves again; C approvesB's second refused 'You have already approved this version of the order.'; after C badge 2 of 2
Acknowledgement and delivery scheduleConfirmed order, line of 10Record acknowledgement with reference; Delivery schedule 6 + 4 on two dates; Save scheduleAcknowledgement listed against the version; schedule shows two drops; drops not adding up are refused

Goods receipt

ActionWhenWhat you doWhat happens
Partial receipt with backorderConfirmed order for 10, no toleranceOpen Receipts; set done 7; Validate7 into stock at the order cost; a backorder receipt for 3 is created; order stays Confirmed
Short within under-tolerance closes the lineReceipt tolerance for the supplier: 5% over, 2% under; order 100Receive 98.5; ValidateReceipt closes short with no backorder for 1.5; 97 instead leaves a backorder for 3
Over-receipt tolerance and approvalSame tolerance; order 100Receive 104; then on a second order receive 106 without, then with 'Approve over receipt' and a reason104 taken; 106 refused with the tolerance message; approved by a holder of inventory.receipt.exception.approve with a reason it is taken

Calls for tenders

ActionWhenWhat you doWhat happens
Create a draft call for tendersUser with purchase.tender.manage; 2 suppliers, 1 purchasable productNew; title, closing in 5 days, Sealed; one line 100 units; tick both suppliers; SaveSaved as Draft with a number (own sequence); Suppliers shows 0 / 2; smart buttons Quotes in 0 / 2, Bids Sealed
Concurrent editSame draft tender open in two browsersSave in the first; Save in the secondSecond: 'This record changed; reload it and try again.' (409)

Call for tenders record

ActionWhenWhat you doWhat happens
IssueDraft with a line, two suppliers invited, future closing timePress IssueStatus 'Open for quotes'; revision up; draft quote record exists for each supplier; lines and suppliers can no longer be edited ('Only a draft call for tenders can be edited.')
Issue refused when incompleteDraft without lines; draft without suppliers; draft whose closing time is now pastPress Issue on each'Add what is asked for before issuing.'; 'Invite at least one supplier before issuing.'; 'The closing time has already passed.'
Sealed tender hides prices until closingSealed tender with one submitted quoteAs buyer open the tender before the closing time; look for the Comparison card and any price; call the comparison by APINo Comparison card, no price shown anywhere (prices are absent, not blanked); API answers 403 'This call for tenders is sealed until it closes: no price is shown before <time> UTC.'; red notice 'Sealed until ... UTC: no price is shown before then.'
Open tender shows offers as they arriveTender with Bids = Open and one submitted quoteOpen the recordComparison card is visible immediately, cheapest valid offer first with an award icon
Comparison normalises unitsClosed tender for 24 units; A: carton of 12 at 1,200.00; B: unit price 110.00Close for quotes; read the comparisonA per base unit 100.00, for 24 units 2,400.00 (cheapest); B 110.00, 2,640.00. A is marked cheapest
Comparison total is worked from the unrounded unit priceQuote line priced per Box of 12 at 1,000.00 for 24 unitsRead the comparisonPer base unit shows 83.33; for the quantity asked 2,000.00 (83.3333 x 24), not 1,999.92
Submit a new version of a submitted quoteSubmitted quote v1 from A while the tender is openPress New version; change price; Save and submitv1 becomes Superseded, v2 Submitted; only v2 is compared; Quotes in stays 1 / 2
Quotes refused after closing timeIssued tender whose closing time has passedTry Enter quote and Save / submit (and by API)'Quotes are recorded while the call for tenders is open, before its closing time.' / 'The call for tenders is closed; no quote is submitted after its closing time.'; a tender past its time already reads Closed
Close for quotes by handIssued tenderPress Close for quotesStatus Closed; quotes stop; the comparison and Award appear even if the time has not come
Award the cheapest offerClosed tender, 100 units; A quote 100.00 (cheapest) valid; award by user C who did not raise it (C holds the manage and award rights)As C type Award quantity 100 against A; AwardStatus Awarded; one draft PO for A: 100 x 100.00 = 10,000.00 + 5% VAT 500.00 = 10,500.00; A's quote Awarded, B's Lost; PO number under Purchase orders smart button; supplier reference is A's quote reference
Split award across two suppliersClosed tender 100 units; A offers 60 at 100.00; B offers 100 at 110.00Award A 60 (no reason) and B 40 with reason 'A cannot supply more'; AwardTwo draft POs: A 60 x 100.00 = 6,000.00 + 300.00 VAT = 6,300.00; B 40 x 110.00 = 4,400.00 + 220.00 VAT = 4,620.00; award quantities stored per quote line; both quotes Awarded
Award rulesClosed tender, A cheapest, B dearer, one expired quote CAward B without reason; award more than offered; award more than asked; award the expired quote; award a supplier that declined the line'<description>: give the reason for not taking the cheapest valid offer.'; 'The supplier offered only <n>.'; '<description>: more than the <n> asked for would be awarded.'; 'C's quote expired on <date>.' (the input is disabled on the screen); 'The supplier declined that line.'
Whoever raised the tender cannot award itClosed tender raised by user B who holds both the manage and award rightsAs B press AwardRefused 'Somebody other than whoever raised this call for tenders must award it.' (403)
Award is refused for a disqualified supplierCompany setting 'Require qualified suppliers' on; supplier A not qualified for the productAward ARefused with the supplier-qualification message for the award line; nothing created
Award feeds the requisitionTender line came from an approved requisition line of 100Award 100 to AThe requisition line shows 100 ordered and links to the new PO; requisition status follows (Ordered)
Cancel a tenderDraft, issued or closed tenderCancel; give a reason; ConfirmStatus Cancelled with the reason added to the notes; an awarded or cancelled tender: 'An awarded call for tenders cannot be cancelled.'

Supplier's quote dialog

ActionWhenWhat you doWhat happens
Record and submit a quote with a carton priceOpen tender for 24 units; supplier AEnter quote for A: priced per Carton, base units 12, price 1,200.00, tax 5%; Save and submitQuote state Submitted; Quotes in 1 / 2; the line is stored in cartons
Submit an empty quoteOpen tender, supplier draft quote with no lines savedSubmit it (API)'Enter the supplier's prices before submitting the quote.'

Auction record dialog

ActionWhenWhat you doWhat happens
Create, then publish an auctionIssued tender with lines and invited suppliers; user with manage rightNew; pick the tender; start in 5 min, end in 65; opening price 2,500; Save as draft; open it; PublishDraft, then Published (shows Scheduled before the start time, then Live); only one auction per tender
Ranking and what bidders seeThree suppliers bidOpen the auction as staff; open as a bidder with 'rank only' and with 'rank and best price'Staff see rank, lot totals and per-line prices, and the full bid history newest first; the screen refreshes every 5 seconds; bidders see only their rank (or rank plus best price)
Close nowLive auctionClose now; leave the reason empty, then type oneEmpty refused 'This field is required.'; with reason the auction closes at once and its end time becomes now
Award the lowest bidderEnded auction; ranking A 1,990.00, B 2,100.00; user C holds manage and award rights, did not raise itOpen; Award with the default (lowest) winnerDraft PO for A: every tender line at A's bid price and the quote's tax; auction Awarded with winner and PO link; tender Awarded; A's quote Awarded, others Lost
Award a higher bid needs a reasonSame auctionChoose B in Award to; Award; leave reason empty then fill'Give the reason for not awarding the lowest bid.' then success with the reason stored on the auction
Award rulesAuction not yet ended; auction raised by the awarder; auction with no bidAward each'An auction is awarded after it ends.'; 'Somebody other than whoever raised this auction must award it.'; 'Nobody bid; cancel the auction instead.'
Cancel an auctionDraft, published or closed auctionCancel auction; give a reasonStatus Cancelled; reason required ('This field is required.'); an awarded one: 'This auction can no longer be cancelled.'; the tender stays open for another auction

Supplier portal auction

ActionWhenWhat you doWhat happens
Bidding arithmetic and minimum dropLive auction; lines 10 x A and 5 x B; drop 0.5%; opening price 2,500.00Supplier bids line prices 100 and 200 (lot 2,000.00); then 1,995 total; then 1,990.00 totalFirst bid ranked; the 1,995.00 bid refused 'Each bid must be at least 0.5% below your last (2,000.00): 1,990.00 or less.'; 1,990.00 accepted
Opening price, completeness, timingLive auctionBid with total 2,600; bid leaving a line blank; bid before start / after end'The opening price is 2,500.00; bid at or below it.'; 'Price <description>.'; 'The auction is not open for bids.'
Anti-sniping extensionLive auction ending 10:00; extend if bid in last 2 minutes by 2 minutesBid at 09:59; then another auction bid at 09:57End moves to 10:01 and the bid is flagged 'extended the end'; the 09:57 bid (3 minutes before) does not move it

Punch-out catalogues

ActionWhenWhat you doWhat happens
Create a catalogue; password never shownUser with purchase.configureNew; supplier; shop address https://...; login; password; Save; reopen itSaved; password field empty with 'Set. Leave blank to keep it.'; blank password on edit keeps the old one
Create a cataloguepurchase.configure.New: supplier, name, https address, login, password, save.Saved; the password shows only as set; a duplicate name or an http:// address is refused with the messages in the field list.
Shop and bring a cart backActive catalogue; buyer holds purchase.requisition.create.Shop a catalogue > start; the supplier site posts the cart to the return address.A session is opened with a secret return address (HOOK_URL); the cart lines come back; an unknown key says 'This cart link is not valid.', a used cart 'This cart has already become a requisition.', an old one 'This shopping session has expired; open the catalogue again.'

Shop a catalogue

ActionWhenWhat you doWhat happens
Start a shopping sessionActive catalogue; buyer with purchase.requisition.createPress Shop <catalogue>A new window posts to the shop with login, a return address and OCI codes; the screen says the shop is open and polls every 3 seconds; cart row 'Shopping' appears
Cart returns from the shopOpen session; test post to the return address (public key link) with 5 units, PRICE 120.00, PRICEUNIT 10, description 'Stapler'Post the OCI form to the return linkCart row 'Cart received'; line price 12.00 (120 / 10), total 60.00; a comma price '12,50' reads 12.50; a quantity 0 line is skipped; up to 200 lines kept
Return link rulesSessions open, used and older than 2 hoursPost the cart to each; post an empty cart; use a wrong keyUsed: 'This cart has already become a requisition.' (409); old: 'This shopping session has expired; open the catalogue again.' (410); empty: 'The cart came back empty.'; bad key: 'This cart link is not valid.' (404)
A buyer sees only their own cartsCarts by two buyersAs buyer 2 open buyer 1's cart link by APIRecord not found (404); a superuser can see all

Cart dialog

ActionWhenWhat you doWhat happens
Match lines to our productsProduct with supplier code ST-100 on its supplier list for this supplier; another product with our code OFC-9 sent as MATNROpen the returned cartFirst line matched through the supplier's code, second through our code; others show 'not in our catalogue'
Make a requisition from the cartReturned cart, needed-by date enteredMake a requisitionDraft requisition with one line per cart line (description + supplier code, quantity, estimated price = cart price, supplier suggested); cart becomes 'Requisition made'; you land on Purchase requisitions; a second attempt: 'This cart has already become a requisition.'

Agreement dialog

ActionWhenWhat you doWhat happens
Write an agreement as a draftUser with purchase.configureNew; supplier, title, 2026 period, ceiling 100,000.00; add product at 45.00 with quantity ceiling 500; Save draftDraft agreement with number PA-...; draft can be edited; once in force or closed the dialog is read-only ('Only a draft agreement is edited.')

Purchase agreements

ActionWhenWhat you doWhat happens
Put in force by somebody elseDraft written by user W; approver P holds purchase.policy.approve and purchase.configureAs P press Put in force; then as WP: status In force, 'in force, approved by P'; W: 'Somebody other than whoever wrote the agreement must put it in force.'; no price and no ceiling: 'An agreement needs agreed prices or a value ceiling.'
Close an agreementIn force or draft agreementCloseStatus Closed; new call-offs refused 'PA-0001 is closed, so nothing is called off from it.'; closing twice: 'That agreement is already closed.'

Supplier rebates

ActionWhenWhat you doWhat happens
Create and put in forceWriter W, approver P (holds purchase.policy.approve and purchase.configure)W: New rebate, supplier, 2026, all products, From basis 0 rate 2%; Save. P: Put in force. W: try Put in forceP: In force; W refused 'Somebody other than whoever wrote it must put a rebate agreement in force.'
Accrue works from posted bills less debit notesRebate in force with tiers 0 -> 2% and 50,000 -> 3%; posted bills net 60,000.00, posted debit notes net 5,000.00 in the period; accrued earlier 1,000.00AccrueBasis 55,000.00; rate 3% on the whole basis (not just the excess); due 1,650.00; only the difference 650.00 is posted (Dr Supplier rebates receivable, Cr purchase variance); message 'Accrued 650.00 ... basis of 55000.00.'; Accrue again with nothing new posts nothing
Tier below the thresholdSame rebate, basis 49,999.00AccrueRate 2%, due 999.98; a basis below every threshold accrues 0
Settle issues one debit noteRebate in force with due 1,650.00 and 1,650.00 accruedSettle; then press Settle again (or by API)Debit note of 1,650.00 (no tax) to the supplier raised, confirmed and posted; the accrual reversed; rebate status Settled; second Settle returns the same settlement, no second note. The note's own line (PUR-REBATE) is not counted in any basis
Settle with nothing dueRebate in force, basis below every tierSettleRefused 'Nothing is due on this rebate.'; a draft rebate: 'Only a rebate agreement in force is settled.'

Shipping notice dialog

ActionWhenWhat you doWhat happens
Write a notice against an orderConfirmed PO line of 100; 40 received; no other noticeNew notice; choose the PO; leave defaults (60 open); change to 30; add lot and expiry; SaveNotice In transit with a number; the open balance for the next notice is 30; appears on Inbound shipments
Over-announcing is refusedSame order (30 still to come, supplier tolerance 5% over, no more notices)New notice for 36; then for 3536: '<code>: 36 announced, but only 30 is still to come.'; 35 (30 + 5% of 100) is accepted
Receive the goods from the notice - onceNotice of 30 with lot and expiry; the order's receipt waiting; user holds purchase.asn.manage and inventory.operateReceive the goodsThe order's receipt validated for 30 with the lot and expiry; notice Received with the receipt number; second Receive: 'This notice has already been received or was cancelled.'
Receive with no receipt waitingNotice, but the order's receipt is already done or cancelledReceive'The order has no receipt waiting for goods.'; a product missing from the receipt: '<code> is not on <receipt>; receive it there by hand.'
Cancel a noticeNotice In transitCancel notice; give a reasonStatus Cancelled; its quantity returns to the order's open balance; changing or cancelling a received one: 'Only a notice still in transit can be changed.' / '...cancelled.'

Inbound shipments

ActionWhenWhat you doWhat happens
Days lateNotice expected 3 days ago still In transitOpen Inbound shipmentsRow listed first with Days late 3; a received notice leaves the list

Vendor bills

ActionWhenWhat you doWhat happens
Duplicate supplier invoice numberPosted bill BILL-A with vendor number AB-001; new bill from the same supplier with 'ab 001'Open the new draft; read the Matching tab; PostRed warning on the draft naming BILL-A; Post refused 'ab 001 from this supplier is already on BILL-A. A supplier invoice is posted once.'; the same number from another supplier posts; reversing BILL-A gives the number back
Vendor number required by settingPurchase settings: Require vendor invoice onPost a bill with the number empty'Enter the supplier's invoice number before posting this bill.'

Bill matching panel

ActionWhenWhat you doWhat happens
Three-way hold on quantityPolicy three-way, tolerance 0; PO of 10; receipt of 8; bill for 10Raise the bill from the order; PostPost refused 'This bill is held by matching.'; one hold 'Billed more than' - '<code>: 10 billed against 8 received on <PO> - 2 held.'; line status Held; the hold is listed under Bills on hold
Quantity toleranceSame policy with tolerance 5%; received 8Bill 8, then bill 9Bill 8: allowed (8 <= 8.4). Bill 9: 9 > 8.4, held for 1 (the excess over the 8 received), amount 1 x unit price
Price holdPolicy price tolerance 3% or 3.00 whichever larger; order price 100.00Bill at 103 then at 104103 passes; 104 held: price over 4.00, amount 4.00 x quantity, message '<code>: billed at 104.00 against 100.00 ordered.'; a lower price never holds
Tax difference and no-order holdsPolicy with 'hold tax difference'; policy requiring an orderBill a line at 0% where the order says 5%; bill a goods line with no order behind itHolds 'Tax differs from the order' ('<code>: tax 0% against 5% on the order.') and 'No purchase order' ('<code> is billed with no purchase order behind it.')
Four-way match: only accepted goodsPolicy four-way; PO 10; 10 received, 2 held as damaged at receiptBill 10May bill shows 8 (accepted); 2 held until the damage is resolved
Match again clears a holdHeld bill (received 8, billed 10)Receive the remaining 2; open the bill's Matching tab; Match againHold status Cleared (zero held); bill can Post; a posted bill: 'Only a draft bill is matched; a posted one has already been decided.'
Capitalise freight onto receiptsPosted bill with a freight service line 300.00; two done receipts valued 6,000.00 and 4,000.00; user holds stock.adjustCapitalise freight; choose the line and both receiptsLanded costs of 180.00 and 120.00 (split by receipt value 60/40) created; 'a line is capitalised once' - a second attempt is refused

Bills on hold

ActionWhenWhat you doWhat happens
Release a hold by another personHold on a draft bill raised by W for an order raised by B; releaser R holds purchase.match.release and neither raised itAs R: Release; type reason; Confirm; Post the billHold Released with R and the reason; bill status 'released'; the bill now posts; the release stays valid while the variance is no larger than released
Release refused for the makersSame holdAs W (raised the bill), as B (raised the order), then as a user with no release rightW and B: 'Somebody other than whoever raised the bill or its order must release this hold.'; no right: 'Releasing a matching hold needs the release right.'
A bigger variance is held againHold released for 2 unitsEdit the bill to 3 units over; PostNew hold for the larger variance; posting refused again; the first release stays on record

Three-way match exceptions

ActionWhenWhat you doWhat happens
Report shows every decisionOne open, one released, one cleared holdOpen the report (opens on All); filter by tabRows with reason, level, variance, tolerance, owner, age in days, released by and reason

Debit notes

ActionWhenWhat you doWhat happens
Debit note against a posted billPosted bill of 10 units at 100.00 + 5% VATNew debit note; Against bill = that bill; return 4 units; Confirm; PostNote of 4 x 100.00 = 400.00 + 20.00 VAT = 420.00 posted; supplier balance reduced by 420.00; another 7 units later: 'BILL-... has only 6 of <code> left to credit.'
Debit note rulesA draft bill; a bill of another supplierChoose each as Against bill; date the note before the bill'Only a posted vendor bill can be credited. This one is draft.'; 'The note must be for the same partner as the document it credits.'; 'A note cannot be dated before <bill>.'
Debit note without an original billPosted supplierNew debit note; no 'Against bill'; one product line; PostAllowed (the field is optional); not limited to billed quantities

Retentions held

ActionWhenWhat you doWhat happens
Retention is held at postingPO with Retention 10% and due after 365 days; bill 1,000.00 net + 50.00 VAT = 1,050.00Post the bill; open Retentions heldRow: billed net 1,000.00; retention 100.00; outstanding 1,050.00; payable now 950.00; due for release = bill date + 365 days
Payments stop short of retentionThe held retention aboveTry to pay 1,050.00 against the bill in Payments / a payment proposalAt most 950.00 can be paid while retention is held; outstanding still shows 1,050.00 and the aged creditors/ledger do not change
Release a retentionHeld 100.00; releaser holds purchase.retention.release and raised neither bill nor orderRelease; reason 'Completion certificate signed'Status Released; payable now becomes 1,050.00; once only: 'This retention is no longer held.'
Release refused for the makersSame retentionAs the bill's author, as the order's author, as a user without the right'Somebody other than whoever raised the bill or its order releases the retention.'; 'Releasing a retention needs the retention release right.'
Reversing the bill cancels the retentionBill with held retentionReverse the billRetention row shows Cancelled

Early payments

ActionWhenWhat you doWhat happens
Offer early paymentPosted bill 10,500.00 due 30 Nov, nothing paid, no retention; offering user holds payment.prepareOffer early payment; bill; We pay on 10 Nov; annual rate 12%; Send offerOffer Offered: 20 days early; discount 10,500 x 12% x 20 / 365 = 69.04; To pay 10,430.96; answer-by is the day before the pay day (not earlier than today)
Offer rulesA posted billOffer with pay-on in the past, on the due date, a second offer, a draft bill, rate 60'Pay on today or later.'; 'Paying early means before the due date (<date>).'; '<number> is already open on this bill.'; 'Only a posted bill is paid early.'; 'Enter at most 50.'
Retention and part payments reduce the baseBill 1,050.00 with 100.00 retention held and 200.00 already paidOffer for 20 days at 12%Payable 750.00 (1,050 - 200 - 100); discount 750 x 12% x 20 / 365 = 4.93
Supplier answer (portal)Offered offer; supplier portal loginAccept; or Decline with a reasonAccepted - to pay (or Declined); a late answer: 'This offer has lapsed.'; an answered one: 'This offer has already been answered.'; only the offer's own supplier sees it
Settle only when paid in timeAccepted offer: pay 10,430.96 against the bill on or before the pay daySettle (first without the payment, then after)Without: 'Pay 10430.96 against the bill, dated on or before <date>, first.'; after: a debit note for 69.04 at the bill's tax rates posted and set against the bill, bill closed, offer Paid early
Offers lapseOffered offer past its answer day; accepted offer unpaid after the pay dayOpen the listBoth show Lapsed (no discount; bill owed in full); a new offer on the bill is then possible
WithdrawOffered or accepted offerWithdraw with a reasonStatus Withdrawn; reason required; a settled offer: 'Only an open offer is withdrawn.'

Payment holds

ActionWhenWhat you doWhat happens
Place a hold on one billPosted supplier bill; user with payment.preparePlace a hold; Hold = A bill; choose it; reasonActive hold; paying that bill (screen or payment proposal) is refused '<BILL> is on payment hold: <reason>'; other bills of the supplier pay normally
Place a hold on a whole supplierSupplier with several billsPlace a hold; Hold = A supplierEvery payment to the supplier refused 'This supplier is on payment hold: <reason>'; a second hold on the same bill or supplier: 'That is already on payment hold.'
Release a holdActive hold; user with payment.approveRelease; type the noteStatus Released with released by and note; payments possible again; no note: 'Say why the hold is being lifted.'

Suppliers

ActionWhenWhat you doWhat happens
Create a supplierpartner.managePurchase > Suppliers > New. Name 'Gulf Test Trading LLC', type Vendor, payment days 30, tax number 100123456700003. Save.Supplier saved with the next code in the CUST-nnnnn series (the code prefix is the same for suppliers); appears in Suppliers and in the supplier pickers of RFQs, tolerances, policies and portal logins; payment days must be 0 to 365 ('Payment terms must be 0–365 days.').
A customer-only contact is not offered as a supplierA contact of type Customer exists.Open Purchase > Configuration > Receipt tolerances > New, scope Supplier; open the Supplier list in the dialog.Only Vendor and Customer + Vendor contacts are offered; forcing a customer id through the API gives 'Choose a supplier.'

Supplier record

ActionWhenWhat you doWhat happens
Bank account added on the record is PendingSupplier open; user holds partner.bank.reveal.Add a bank account with a valid IBAN and save.The account is listed as Pending (verified by a call-back) until somebody records the verification; a user without partner.bank.reveal sees IBAN and account number masked.

Open purchase orders

ActionWhenWhat you doWhat happens
Open quantity and value are worked per lineA confirmed order line: 100 pieces at AED 50, discount 10%; 40 received, none returned.Open Reporting > Open purchase orders with As at = today.Ordered 100, Received 40, Open 60. Open value = 60 x (50 less 10%) = 60 x 45.00 = 2,700.00 (times the order's exchange rate for a foreign-currency order). The total at the foot is the sum of Open value.
Returns reduce what counts as receivedAs above; 10 of the 40 returned to the supplier (vendor return done).Refresh the report.Received 30, Open 70, Open value 3,150.00. Cancelled orders, draft orders and one-step 'posted' orders never appear; service lines are not listed (goods only).
The As at date hides later ordersAn order dated 2026-10-10 exists.Set As at to 2026-10-01.The order dated 10 October is not listed; set As at to 2026-10-10 and it appears.
Promised date: schedule, else delivery date, else receipt dateThree open lines: one with a delivery schedule drop of 2026-10-05, one on an order whose delivery date is 2026-10-07, one with only a scheduled receipt on 2026-10-09.Read the Promised column.05 Oct, 07 Oct and 09 Oct in that order of precedence; a line with none of the three shows an empty Promised and Days late 0.
Open a rowReport has rows.Click a row.The purchase order opens on the document screen.

Overdue supplier receipts

ActionWhenWhat you doWhat happens
Days late and orderingOpen lines promised 2026-09-20 and 2026-09-28; As at 2026-10-02.Open Reporting > Overdue supplier receipts.Days late 12 and 4; the 12-day line is first; a line promised today or later is not listed; a partly received line counts only for what is still to arrive; the total is the open value of the listed rows only.

Supplier spend

ActionWhenWhat you doWhat happens
Spend = bills less debit notesSupplier A: posted bills net 10,000 and 5,000 in the period, one posted debit note net 1,500. Supplier B: posted bill net 13,500.Open Reporting > Supplier spend, From 2026-01-01, To today.Supplier A: Bills 2, Billed 15,000.00, Credited 1,500.00, Spend 13,500.00. Supplier B Spend 13,500.00. Total 27,000.00; Share 50.0% each. Draft and cancelled documents are ignored; amounts are net of tax in company currency; the Tax column is shown apart (debit-note tax is subtracted).
Default periodToday is in 2026.Open the report without touching the dates.From = 1 January of this year, To = today.
A foreign-currency bill uses its booked rateA USD bill net 1,000 booked at 3.6725.Read the Billed column.Billed 3,672.50 AED (net x the rate the document was booked at).

Supplier performance

ActionWhenWhat you doWhat happens
On-time, in-full and returned percentagesIn the period supplier A had 4 validated receipts, 3 of them on or before the promised date, 2 taking the whole line quantity; 5 units returned of 100 received.Open Reporting > Supplier performance.Receipts 4, On time 75.0%, Out of 4, In full 50.0%, Returned 5.0%. A receipt with no promised date and no scheduled date is not counted in the on-time denominator ('Out of').
Price holds columnTwo vendor bills of supplier A in the period were held for a price above the order.Read Price holds.Price holds 2 (only holds with the reason 'price'; bills dated outside the period are not counted).

Received not invoiced

ActionWhenWhat you doWhat happens
Received but not billedAn order line of 10 pieces at AED 20; 8 received on 2026-09-20; nothing billed.Open Reporting > Received not invoiced, As at 2026-10-02.Row: Received 8, Not billed 8, Value 160.00, First received 2026-09-20, Age 12 days, Status Received, not billed. A line billed in full disappears.
Billed before receiptA posted bill for 10 pieces with only 6 received.Open the report.A row with status Billed before receipt (red) shows the 4 billed but not received.
Tie-out to the GRNI accountGRNI posting is on with an account set; some receipts posted.Read the note above the list.'GRNI account <code>: ledger X · these lines Y · difference Z.' When GRNI posting is off the note says so; with no account the note says to set it under Finance > Configuration > Posting accounts.

Consignment stock

ActionWhenWhat you doWhat happens
Consignment quantitiesA consignment order of 100; 100 received into the supplier's location; 30 used.Open Reporting > Consignment stock.Ordered 100, Still the supplier's 70, Used 30, Billed 0, To bill 30 (amber). Only the used 30 may be billed.

Purchase settings

ActionWhenWhat you doWhat happens
Save the switchespurchase.configure.Tick 'A buyer may not approve their own purchase order' and Save.'Saved.'; the revision goes up, 'Last changed by <you>' shows; the change is in the audit trail with before/after.
Edit conflict on settingsTwo users open the page.User A saves; user B saves from the old page.User B gets 'This record changed; reload it and try again.'
Duplicate supplier invoice numbers are refused'Post each supplier invoice number once' on. A posted bill of supplier A carries vendor invoice INV-1.Enter another bill of supplier A with vendor invoice INV-1 and post.Refused as a duplicate; after the first bill is reversed, INV-1 can be used again.
Buyer may not approve own orderSwitch on; user raised a PO.The same user confirms it; then a second user confirms it.The first is refused (needs somebody other than whoever raised it); the second succeeds. With the switch off the author can confirm alone.
Post receipts to GRNIA GRNI account exists in Finance posting accounts.Tick the GRNI box and Save; receive goods on a new PO; post its bill.Receipt credits GRNI at the order price; the bill clears GRNI and any price difference goes to purchase variance. Orders received before the switch keep the old treatment. Without an account the save is refused with the 'No account fills Goods received not invoiced' message.
Commit only to approved suppliersSwitch on; supplier without a qualification; PO line for a product.Confirm the PO.Refused: '<Supplier> is not an approved supplier for <product>.' (code SUPPLIER_NOT_QUALIFIED). After an approved in-date qualification exists it confirms.
Enforce the supplier's termsSwitch on; supplier's minimum quantity 50 and list price 100 for the product.Confirm a PO line of 40 pieces; then 60 pieces at 110 without a reason; then with a reason.40: '<code>: this supplier sells it in at least 50; the order asks 40.' 60 at 110: '<code> is priced at 110.00 against the supplier's list of 100.00. Give the reason for the higher price before confirming.' With the reason it confirms and the line keeps a price snapshot marked manual.
Open and renew the supplier registration linkpurchase.configure.Tick Accept supplier registrations, Save; copy the link; click New link, Save; open the old link.A link /api/v1/public/supplier-registration/<key> appears; after New link + Save the old link answers 'This registration link is not open.'; unticking and saving also closes it.
Approval tiers decide how many approvalsTiers 0 -> 1, 10,000 -> 2, 50,000 -> 3 saved by a user with purchase.policy.approve.Raise POs of AED 5,000, 25,000 and 60,000 (with tax) and send them for approval.They need 1, 2 and 3 approvals by people other than the author; a total of exactly 10,000.00 needs 2 (tier is 'from'). With no tiers an order needs no approval.
Tiers are replaced as a listThree tiers exist.Remove the middle row and Save tiers.'Saved.'; the list now shows two tiers; the audit trail lists the saved amounts and counts.
Tier validationApproval right.Enter two tiers of 10000; then an approvals value of 6; then 11 rows.'Two tiers start at the same amount.'; 'Enter at most 5.'; 'Enter up to ten tiers.' Nothing is saved on a refusal.

Receipt tolerances

ActionWhenWhat you doWhat happens
Over-delivery allowed on a receiptSupplier policy 5% over on a line of 100.Receive 105 against the order; then 106.105 is accepted; 106 is held for an approved over-receipt in inventory. The same allowance lets a shipping notice announce up to 105.
Under-delivery closes the lineSupplier policy 2% under; line of 100.Receive 98 and validate; then repeat with 97.98: the missing 2 is within 2% so the receipt closes short with no backorder. 97: a backorder of 3 stays open. Receiving 0 never closes short.
Most specific active row winsCompany row 10%, supplier row 5%, product row 1% for the same supplier and product.Receive the product from that supplier.The product row (1%) decides; for another product of the supplier the supplier row (5%) decides.
One active row per exact scopeAn active supplier row exists for supplier A.Create another active row for supplier A.'An active tolerance already covers exactly this; change that one.' Untick Active on the new one and it saves.

Bill matching policies

ActionWhenWhat you doWhat happens
Write a draft and put it in force (second person)User A holds purchase.configure; user B holds purchase.policy.approve.A creates MP-STD (three-way, whole company) and tries Put in force; then B puts it in force.A is refused: 'Somebody other than the author must activate this policy.'; B succeeds, the row shows Active with Approved by B and the date.
Two active policies may not claim the same scopeMP-STD is active for the whole company.Draft another company-wide policy and put it in force.'MP-STD v1 already covers the same scope. Make a new version of it, or archive it first.'
An active policy is changed by a new versionMP-STD v1 active.Click New version; edit the copy; put it in force by the second person.v2 is a draft until activated; on activation v1 becomes Superseded. A second New version while v2 is a draft is refused ('Version 2 of MP-STD is already being drafted.'). Editing an active row directly is refused ('Only a draft policy can be edited. Make a new version of an active one.').
Quantity toleranceThree-way policy with 10% quantity tolerance; order 10, received 8.Bill 8.8 and post; then bill 8.9 on a second bill.8.8 passes (8 x 1.10 = 8.8); 8.9 is held with a quantity hold showing tolerance 10%. A bill can never exceed what was ordered.
Price tolerance is the larger of percent and amountOrder unit price 100; policy 2% and AED 3.00 per unit.Bill at 103.00; then at 103.01.Room = larger of 2.00 and 3.00 = 3.00: 103.00 passes, 103.01 is held for price.
Most specific policy decidesCompany three-way policy and a product-level two-way policy for product P.Bill 10 of P with only 6 received; bill 10 of another product with 6 received.P (two-way) is billable up to the 10 ordered; the other product is held under three-way. Precedence: product, category, supplier, company.
Archive rulesAn active policy.A user with purchase.configure only clicks Archive; then a user with purchase.policy.approve.The first is refused ('Retiring an active policy needs the policy approval right.'), the second succeeds. A draft can be archived by purchase.configure.

Approved suppliers

ActionWhenWhat you doWhat happens
Approve a qualification (second person, evidence)Draft qualification written by user A with no evidence.A tries Approve; B (approval right) tries Approve; A edits evidence; B approves.A: 'Somebody other than whoever wrote it must approve a supplier qualification.'; B without evidence: 'Record the evidence the supplier was qualified on before approving.'; after evidence B approves and the row shows Approved.
Expired and not-yet-valid statusesApproved row valid 2026-01-01 to 2026-09-30; another valid from 2026-11-01.Read the Status column on 2026-10-02.The first shows Expired, the second Not yet in force; neither lets a PO confirm when 'Commit only to approved suppliers' is on.
Block a supplierApproved row.Click Block, reason 'Failed audit'.Status Blocked. From now every award and PO confirmation for that supplier / product is refused ('<Supplier> is blocked as a supplier for <product>: Failed audit') even when the switch is off.
Dated exception for an expired qualificationExpired approved row; switch on.Click Exception, until a past date; then until today + 7 with a reason; confirm the PO.A past date: 'An exception runs to a day that has not passed.' A valid exception lets the PO confirm until that day; afterwards it is refused again with the expired message ('...qualification expired on <date>. Renew it, or record a dated exception...').
Only a draft is editedApproved row.Open it.The form is read-only; the API says 'Only a draft qualification is edited; block or archive an approved one and write a new one.'

Supplier portal logins

ActionWhenWhat you doWhat happens
Create a portal loginpurchase.portal.manage; password of 12+ characters.New > supplier, username, name, email, temporary password > Create login.A user of type vendor portal is made with the supplier-portal role only (member of the company), linked to that supplier, and appears Active; the supplier signs in and must change the password.
Close a portal loginAn active login.Close login, reason 'Left the supplier'.The link ends, the company membership is removed, the user is deactivated if it has no other company; the row shows Closed; a second close says 'This portal login is already closed.' The closed user can no longer sign in to this company.

Supplier applications

ActionWhenWhat you doWhat happens
Approve an applicationA waiting application; approver holds purchase.portal.manage and partner.manage.Open it, enter a portal username and a 12+ character temporary password, Approve as supplier.A supplier contact (kind Vendor, payment days 30) is created from the application; a portal login is made when a username was given; the row shows Approved with the supplier code and 'portal login made'. A second decision says 'This application has already been decided.'
Approve refused for a user without contact rightsUser with purchase.portal.manage only.Approve an application.'Approving a supplier needs the right to manage contacts.' (403); Reject still works for this user.
Reject an applicationA waiting application.Reject with reason 'No trade licence provided'.Status Rejected with the reason and who decided; no supplier is created.

Supplier registration form

ActionWhenWhat you doWhat happens
Public application, duplicate and bot checksRegistration open.Open the link without signing in; send an application with VAT 100123456700003; send again; fill the hidden Website field; send 51 applications in a day.The first shows 'Your application <number> was received...'; the second 'An application with this number is already waiting for review.'; a VAT already on a contact 'A supplier with this tax number is already registered with us; contact your buyer.'; the trap field 'The application could not be accepted.'; the 51st 'Too many applications today; please try again tomorrow.'

Supplier changes

ActionWhenWhat you doWhat happens
Approve a contact changeSupplier sent a new phone and e-mail; approver holds partner.manage.Open the change and Approve.Nothing changed on the supplier until now; after approval the contact shows the new values (through the ordinary contact save) and the request shows Approved.
A new bank account needs bank rightsSupplier asked for a new bank account; the reviewer holds partner.manage but not partner.bank.reveal.Open the change; click Approve change.The IBAN and account number show masked and the server refuses: 'A new bank account is approved by somebody who may see bank details (finance).' A finance user with partner.bank.reveal approves; the account is added as Pending (and main only if the supplier asked).

Portal home

ActionWhenWhat you doWhat happens
Counts on the home pageSupplier with 2 open tenders, 5 orders (3 not yet acknowledged), 1 notice in transit.Sign in as the supplier.Buttons show 'Calls for tenders open: 2', 'Purchase orders: 5 (to acknowledge: 3)', 'Shipments in transit: 1'.

Portal login

ActionWhenWhat you doWhat happens
A login not linked to a supplierA user with the portal right but no active link.Open the portal.'This login is not linked to a supplier in this company.' (404) and no data.

Portal purchase orders

ActionWhenWhat you doWhat happens
Supplier sees only its own confirmed ordersOrders of suppliers A and B, one draft order for A.Sign in as A.Only A's confirmed / delivered / posted orders are listed; the draft is absent; opening B's order id answers 'Record not found.'
Acknowledge an orderConfirmed order, not acknowledged.Open it, enter reference SO-GT-7788, Acknowledge order.'Acknowledged.'; the list shows Yes; the buyer's order shows the acknowledgement with the reference, date and PO version; a blank reference is refused.

Portal shipping notices

ActionWhenWhat you doWhat happens
Supplier sends a shipping notice (ASN)Confirmed order line of 100, nothing received.In the order, enter 60 in 'On this shipment', add carrier / tracking / arrival date, Send shipping notice.'Shipping notice sent.'; a notice ASN-nnnnn appears In transit in the portal and in Purchase > Shipping notices and Inbound shipments (source portal); the order's open-to-announce quantity for that line is now 40.
Over-announcing is refusedLine of 100, 60 already announced.Announce 50 more.'<code>: 50 announced, but only 40 is still to come.' (up to the supplier's over tolerance); an order that is not confirmed / delivered is refused: '<order> is <state>; a shipping notice is for a confirmed order.'

Shipping notices (staff)

ActionWhenWhat you doWhat happens
Receive the goods from the noticeA notice in transit for 60 pieces with lot LOT-77 and expiry; the order has a receipt waiting; user holds purchase.asn.manage and inventory.operate.Open the notice and click Receive.The order's receipt is validated with 60 pieces, the lot and expiry; the notice becomes Received and links the receipt; receiving it again says 'This notice has already been received or was cancelled.'; no waiting receipt: 'The order has no receipt waiting for goods.'
Cancel a noticeA notice in transit.Cancel with a reason.Status Cancelled; its quantities no longer count as announced; only a notice still in transit can be cancelled or edited.

Portal invoices

ActionWhenWhat you doWhat happens
Supplier sends an invoice from an orderOrder line of 100 at AED 100 plus 5% VAT; 40 received.In the order enter 40 under 'On your invoice', invoice INV-GT-5001, total 4,200.00, attach a PDF, Send invoice.A draft vendor bill is created linked line by line to the order line, 'Invoice INV-GT-5001 sent: Received - being checked.'; the file is attached; the Invoices sent list shows it; staff check it and post it, after which the supplier sees Accepted and the bill in Bills and payments.
Wrong total is thrown awayAs above.Send the invoice with total 4,000.00.'Your invoice total 4000.00 is not what its lines add up to (4200.00 with tax). Check the quantities and prices.' No draft bill is left behind.
Repeat invoice number and over-billingINV-GT-5001 already sent.Send INV-GT-5001 again; then bill more than ordered.A number already on a live bill of this supplier is refused; billing past the ordered quantity is refused at import; a repeat of the same sending is idempotent (same key).

Portal bills and payments

ActionWhenWhat you doWhat happens
Paid, outstanding and retentionPosted bill of AED 10,000, a payment of 4,000 applied, retention held 500.Open Bills and payments.Total 10,000.00, Paid 4,000.00, Outstanding 6,000.00, Retention held 500.00; only posted bills of this supplier.

Portal tenders and auctions

ActionWhenWhat you doWhat happens
Quote and bid as the supplierInvited to a sealed tender and an auction.Open the tender, price each line, Save draft, Submit quote; open the auction and bid.A sealed tender shows only the supplier's own quote; after Submit the quote is read-only (a new version is needed); a quote after closing is refused; an auction bid above the opening price is refused ('The opening price is X; bid at or below it.') and each bid must beat the last by the minimum decrement.

Portal early payment offers

ActionWhenWhat you doWhat happens
Accept or decline an offerAn open early-payment offer.Accept it; try again; wait past its answer date on another.Accepted once; a second answer says 'This offer has already been answered.'; a lapsed one says 'This offer has lapsed.'

Portal My details

ActionWhenWhat you doWhat happens
Send a change requestSupplier logged in.Change the phone, click Send change; then change the e-mail and send again.Only fields that differ are sent; the request shows Waiting for review; a second send is refused: 'A change you sent is still waiting for review; withdraw it first to send another.'; an unchanged form: 'Nothing differs from what we hold; change a field before sending.'
Withdraw a requestA waiting request.Click Withdraw.Status Withdrawn; the buyer's Supplier changes list no longer offers it for decision; a decided request says 'This request has already been decided.'
Bank numbers stay masked for the supplierSupplier has one bank account.Open My details.Banks show the IBAN and account number masked; status Pending / Verified is shown.

Purchasing > Features

ActionWhenWhat you doWhat happens
Turn a feature offCompany admin.Turn Reverse auctions off.The Reverse auctions menu goes and the supplier portal's Auctions entry goes; creating or changing an auction through the API is refused with capability_disabled; existing auctions stay readable.
Always-on featuresCompany admin.Look for a switch for Purchase orders and receipts or Vendor bills and three-way match.They are listed as always on and cannot be turned off.
Supplier portal switch covers four screensSwitch on.Turn Supplier portal and applications off.Menus Supplier portal logins, Supplier applications, Supplier changes and the portal's My details go; new portal writes (login, application decision, change request) are refused.

Purchasing > Features > Fields

ActionWhenWhat you doWhat happens
Supplier reference requiredSupplier reference set to Required.Confirm a PO without a supplier reference; then with one.Refused without it; confirms with it. Hidden: the field disappears and a value sent is refused.
Requisition department requiredDepartment set to Required.Save a requisition with no department.Refused until a department is chosen.