Procure-to-pay · Manufacturing

The buying side of a plant. And deliberately nothing else.

Requirements raised from a bill of materials, netting what is already on order, and non-conformance recorded at receipt against the batch. No work orders, no routings, no capacity, no WIP — Atlas is source-to-pay, and a second, worse MRP living inside a buying tool would help nobody.

Requirements from a bill of materials Nets what is already coming Non-conformance against the batch No shop floor — on purpose
Why a general P2P tool falls short

Three things a plant needs from the system that buys for it.

A plant's purchasing is most of what a plant needs from a procurement system. These are the parts a general one leaves to a spreadsheet beside it.

A refusal at the moment you try to build is too late

Atlas could already refuse a production run it could not cover and name each shortfall. What a buyer needs is that answer before the run — a shortfall list they can act on. And it has to net what replenishment has already ordered, or it tells them to buy a shortfall that is on its way.

A shortfall in the wrong unit is a number, not an answer

Subtracting stock counted in each from a requirement stated in cases prints a figure that looks right and is not. Atlas converts the requirement into the unit the ledger counts in and subtracts there — and where no factor has been declared it returns nothing at all, which is neither zero nor covered: nobody computed it.

A rejection that silently reverses a receipt is the one thing stock must never do

Non-conformance records what a person decided, who they were and when. It moves no stock: quarantining or returning goods is a movement somebody makes with their name on it. A pack that quietly adjusted a balance would be doing the one thing the inventory ledger is careful never to do.

Requirements from a bill of materials

What must be bought for this run — not re-keyed from the BOM into a list.

The bill of materials is already in Atlas. Requirements takes it, multiplies it by the run, nets off what is on hand and what is already on order, and gives you the shortfall as something you can act on.

  • It nets goods already on order, because not doing so tells a buyer to order a shortfall replenishment has already covered
  • It is not the same question as "can I build this now", and Atlas keeps the two apart. That one counts stock on hand only — material in transit cannot be consumed, and netting it there would let a run start against stock that has not arrived
  • Units are converted, not assumed. A factor is declared per item, because a case of paper and a case of wine hold different numbers of things
  • Reorder point, safety stock and maximums are derived from the stock ledger and shown beside the figures you typed — nothing changes until somebody adopts them. Demand too intermittent or lumpy for a service-level calculation is refused a safety stock, as is an item with too little history or no service level stated
  • A bill of materials with no lines refuses to plan anything. Returning an empty requirement list would read as "nothing needs buying", which is the most expensive possible misreading
.../inventory
Unit conversions declared per item: box to each, pallet to box
Declared, never assumedThe conversions a shortfall is allowed to use.
Non-conformance at receipt

Against the batch, so a defect and a recall are looking at the same thing.

Material that did not conform is recorded where it arrived: the quantity, the batch, the reason, and what was decided about it — reject and return, quarantine pending decision, accept under concession, rework at the supplier, scrap.

  • It hangs off the batch, which is the same identifier traceability uses — so the defect, the trace and any recall all mean the same lot
  • A disposition and a reason are required. "Rejected" with nothing written is indistinguishable from one nobody has got to, and this is the record you will be asked for when the supplier disputes the charge-back
  • Nothing is decided for you. Accepting non-conforming material under concession is a commercial judgement with a name against it; software asserting it would be worth nothing in the argument that follows
  • Blank means nobody has decided yet — a real state, and not the same as accepted
.../inventory
A non-conformance against a batch, quarantine pending decision, with the note that Atlas moves no stock
Recorded, not enactedAtlas says so on the panel: it moves no stock.
Where it stops

Atlas is source-to-pay. It is not an MRP, and it does not drift into one.

Work orders, routings, work centres, capacity, WIP and shop-floor scrap and rework tracking are not in Atlas and this pack does not add them. That boundary is not a note in a document either: the pack's own test suite reads the module's code and fails the build if a work-order, routing, work-centre, capacity, WIP or scrap-quantity field or table appears in it, because the cheapest way for a boundary to erode is one helpful addition at a time.

When it stops you

What this pack refuses, and what to do about it.

Atlas refuses a lot here, on purpose, and every refusal carries its reason on the screen. These are the ones this industry meets, in the words the screen actually uses — so that meeting one is a thirty-second fix rather than a support call.

What Atlas will not do
What the screen says
What to do
A shortfall it cannot reconcile the units of
Not reported at all, rather than reported wrongly. The line reads not computed — which is neither zero nor covered.
Declare the conversion on the item and the line answers like any other. Subtracting kilograms from tonnes gives a number that adds up perfectly and is wrong.
A bill of materials with no components
Refused rather than answered with an empty list. “An empty requirement list is not nothing to buy — it is a bill of materials nobody has filled in.”
Add the components. An absence and a zero must never render alike.
A production run of nothing
Refused. “A production run has to be for more than nothing.”
Say how many of the output you intend to make.
A non-conformance with no quantity, or no reason
Both refused. On the quantity: “A quantity of nothing is not a rejection.” And on the reason: “It is the first thing the supplier will ask, and this is the record you will be answering from.”
Record both. The disposition may be left undecided and shows as not decided rather than as nothing.
A rejection that moves the stock
It does not, and the record says so: “Atlas has recorded this and has NOT moved any stock.”
Quarantine or return the goods through the movement screen, with your name on it. A pack that quietly adjusted a balance would be doing the one thing the inventory module is careful never to do.
Confusing what you can build with what you must buy
Atlas keeps them apart deliberately. Producible now counts stock on hand only, because goods in transit cannot be consumed. What a run would need nets off what is already on order.
Read the second before you buy. Not netting what is coming is how a shortfall replenishment already ordered gets ordered again.
Underneath all of it
Shared by every pack that converts or imports anything
What to do
A conversion that was never declared
Refused, and Atlas never returns the quantity unchanged. “Until it is declared, the two quantities are not comparable and Atlas will say so rather than return a figure that looks right.”
Declare the factor for that item. A factor is per item — a case of paper and a case of wine hold different numbers of things — so it is never guessed from a unit's name.
A blank unit read as “each”
It is not. Blank is nobody having said, and it refuses.
State the unit the stock is counted in. Nothing existing is re-expressed when you do: every quantity already recorded means exactly what it meant yesterday.
Spreading import costs with no basis chosen
Refused; there is no default. By value, by weight and by quantity give three different unit costs from one invoice: “all three look equally right on the screen.”
Choose the basis the consignment was actually costed on. A house default would be Atlas deciding which of your products looks profitable.
One line with no weight, on a by-weight split
Refuses the whole split, not just that line. “That would overstate every one of them and understate these to nothing, and the total would still foot exactly.”
Record the missing figures, or choose a basis every line can carry. A figure that foots is the most convincing kind of wrong.
A charge in another currency
Refused, not converted — a customs entry settled months ago at one rate is not today's fact: “What was paid is an amount in a currency, not a rate.”
Record it in the shipment's currency, or cost the shipment in the currency the charges were settled in.

Every one of these is also written into the guidance drawer on the screen it happens on, and into the process guides your own workspace generates — so a person who meets it at four o’clock on a Friday does not need us, or you.

Said plainly

What this pack does not do, and why.

The first two are deferred — buildable in part, and blocked on something we have not established rather than on time. The last two are out of scope by design: Atlas is source-to-pay, not manufacturing execution.

Not in this pack
What is true today
Subcontract and toll orders
Material custody — goods issued to a vendor staying yours while they are there — is buildable. The half that matters commercially is not: the customs treatment of material sent out and returned differs across every region Atlas serves (inward and outward processing in the EU and UK, free-zone rules in the GCC, duty relief in Canada) and none of it has been established here. Shipping the movement while ignoring the duty would be the more dangerous half on its own.
Consignment and supplier-owned stock
Consignment changes who owns a quantity, and the stock ledger has no owner — every row in it is your stock. Adding ownership changes the meaning of every balance, every valuation and every replenishment decision. That is a change taken deliberately, not a line item inside a sector pack.
Shop-floor execution of any kind
No work orders, no routings, no work centres, no capacity planning, no WIP, no shop-floor scrap or rework tracking, no MRP run. Scrap and rework at the supplier are recorded only as outcomes of a non-conformance. Each was searched for, each is absent, and the pack is tested to keep it that way. Nobody should be sold shop-floor execution on the strength of this page.
BOM versioning, effectivity and engineering change
The bill of materials in Atlas is single-level and carries a quantity per unit. It does not version, does not carry effectivity dates and has no engineering-change process. Requirements are raised from what is there.
See it on your own bill of materials

Bring one BOM and one run. We'll show you the shortfall.

A short demo on your own parts and units — requirements raised from the BOM and netted against what is already on order, then a receipt that did not conform, recorded against its batch.

Book a demo