Amazon Direct Fulfillment order lifecycle: every clock, in order
Direct Fulfillment (DF) is Amazon’s dropship program inside Vendor Central: Amazon sells the item and owns the customer, you ship it from your warehouse on a label Amazon issues. Every order runs against a set of clocks, and the chargebacks in the next guide are what happens when one runs out. This page walks the order from purchase order to invoice with the deadline, the API call, and the failure mode at each step.
24 HoursTo acknowledge every PO, accept or reject in full
4 HoursTo confirm shipment after the carton leaves
Fill or KillNo partial orders, no backorders on DF
How Direct Fulfillment differs
The order is Amazon’s, the shipment is yours
In Vendor Central retail, Amazon buys inventory on a purchase order and ships it from its own fulfillment centers. In Direct Fulfillment, Amazon still sells at a price it sets and still handles customer service, but each customer order becomes a purchase order routed to your warehouse, and you ship it directly to the buyer. Amazon supplies the shipping label on its own carrier account and tells you which ship method to use. You never see a cart, a checkout, or a customer message; you see purchase orders with a ship-to address, a required ship date, and a promised delivery date.
That structure is why the program is so strict. Amazon has already promised the customer a delivery date when your PO arrives. Every deadline below exists to protect that promise, and every deadline is measured by Amazon’s systems automatically. Nobody reviews a late acknowledgment; the clock does. The DF vs Vendor Central vs Seller Central comparison covers how to choose between the programs; this page assumes you are in DF and need to run it cleanly.
Step 1
The purchase order arrives, with two dates that matter
Amazon creates one PO per customer order and exposes it through the Vendor Direct Fulfillment Orders API (getOrders and getOrder) or as an EDI 850. Because the PO carries the customer’s name and ship-to address, the API calls are restricted operations: your application needs a Restricted Data Token (RDT) from the Tokens API to read them. An integration that fetches orders on a plain access token will get PO numbers with the PII blanked, which is the single most common “orders are missing addresses” ticket in DF.
Two fields on the PO set every downstream clock. requiredShipDate is the last date the order may leave your warehouse. promisedDeliveryDate is what Amazon told the customer. Amazon also specifies the ship method (the carrier service level) in the PO; you do not choose it, and shipping on a different method is its own chargeback. Read all three on every order, not just the item lines.
PO field
What it means
What to do with it
purchaseOrderNumber
One customer order
Your order reference on every later call and on the packing slip
requiredShipDate
Latest date to ship from your warehouse
Drives pick priority; missing it is a late shipment
promisedDeliveryDate
What Amazon promised the buyer
Explains why the ship method is what it is; do not downgrade
shipMethod
Carrier service Amazon selected
Use exactly this when you create the label
items[].itemSequenceNumber
Line identity
Must be echoed back on acknowledgment and shipment confirmation
shipToParty
Customer name and address (PII)
Requires RDT to read; never store longer than needed
Step 2
Acknowledge within 24 hours, accept or reject the whole order
Amazon expects the acknowledgment as fast as possible and no later than 24 hours after the PO is created. It must cover every line item on the PO. Direct Fulfillment is fill or kill: you accept the entire order or reject it, and partial acknowledgments are not accepted. There is no backorder code on DF the way there is on retail POs, because the customer is waiting.
Acknowledgment code
Meaning
When to use it
00 Accepted
You will ship every line
Inventory is on hand and allocated
02 Canceled, missing or invalid SKU
The identifier on the PO does not match a sellable item
Do not attempt to ship a guessed substitute
03 Canceled, out of stock
You cannot fill a line
Counts toward the cancellation rate chargeback as a fill failure
50 Canceled, tax nexus issue
You cannot ship to that jurisdiction
Rare; set up in Vendor Central to avoid receiving these
51 Canceled, restricted SKU or quantity
Item or quantity cannot be shipped
Rare; usually a catalog restriction
Practical rule: the acknowledgment should be generated by your inventory, not by a person. If available-to-sell for the SKU is positive, accept; if not, reject with 03 immediately rather than waiting to see whether stock arrives. A rejection at hour one costs you a fill-failure mark. A rejection at hour twenty-three costs the same mark plus an angrier customer, and an acceptance you cannot ship becomes a floor denial, which is worse. In InfiPlex the acknowledgment fires automatically off the shared inventory pool as each DF order is pulled, so this step has no human in it.
Step 3
Pick, pack, and print the label Amazon issued
Direct Fulfillment labels come from Amazon, not from your carrier accounts. You call createShippingLabels on the Vendor Direct Fulfillment Shipping API with the PO number, the package dimensions and weight, and the item list; Amazon returns the label on the ship method it specified, on its own carrier contract. The packing slip comes from getPackingSlip. If you ship on a label from your own UPS or FedEx account instead, you have created a ship method mismatch and, depending on the carrier, an order Amazon may not be able to track.
Multi-carton orders are supported: each carton gets its own label and appears as a separate package on the shipment confirmation. Dimensions and weight have to be real, because Amazon is paying the carrier. Warehouses that run DF through ShipStation, ShipHero, or a 3PL WMS need the label to originate from the Amazon call and flow into the pack station, which is what the ShipStation DF set-up covers.
Step 4
Ship by requiredShipDate and confirm within 4 hours
The carton must leave on or before requiredShipDate. Once it does, Amazon expects a shipment confirmation through submitShipmentConfirmations (or EDI 856) within four hours. The confirmation must include every line on the PO, the ship date, the carrier and tracking number for each package, and an estimated delivery date. It is what updates the customer’s order page from “preparing” to “shipped,” so a late confirmation is visible to the buyer even when the package itself is on time.
If you accepted an order and then could not ship it, that is a floor denial. You still send a shipment confirmation, with shipmentStatus set to FLOOR_DENIAL for the order, and Amazon cancels it on the customer side. Floor denials count against your cancellation rate exactly like fill failures, and they are the more expensive of the two because the customer already waited. The four-hour window is why confirmation should be triggered by the carrier manifest or the WMS ship event, not by an end-of-day batch.
Continuous
Inventory feeds are what keep Steps 2 and 4 clean
Amazon only sends DF orders for items your inventory feed says are available. The Vendor Direct Fulfillment Inventory API (submitInventoryUpdate) is how you tell it. Every fill failure and floor denial traces back to a gap between what the feed said and what the shelf held: a sale on another channel that did not reach Amazon in time, a damaged unit, a count that was never adjusted. Feed frequency is the lever. Hourly is the floor for a DF catalog that also sells on Amazon Seller Central, Walmart, or your own store; near real time is the target.
A buffer helps: publish available minus a per-SKU safety quantity so that a burst of orders across channels does not oversell the last unit. The DF inventory KB article shows the buffer setting; the principle is the same in any OMS. One shared pool across every channel, with DF fed from it continuously, is the entire reason cancellation rates go to zero.
Step 5
Invoice through the Payments API and reconcile
After shipment, submit the invoice through the Vendor Direct Fulfillment Payments API (submitInvoice) or EDI 810, referencing the PO number and matching the item cost on the PO. Vendors are paid on their negotiated vendor terms, not on the 14-day settlement cycle sellers get, so invoice timing determines cash timing. Asynchronous submissions (acknowledgments, confirmations, invoices, inventory) each return a transaction ID; getTransactionStatus tells you whether Amazon accepted the payload, and a rejected transaction is not a submitted document. Poll it.
Step
Deadline
API / EDI
Failure mode
Read PO
Immediately on creation
getOrders / getOrder (RDT) / 850
Missing PII, unread ship method
Acknowledge
Within 24 hours, all lines
submitAcknowledgement / 855
Late ack; fill failure if rejected 03
Label
Before ship
createShippingLabels, getPackingSlip
Ship method mismatch if own label used
Ship
By requiredShipDate
Carrier scan
Late shipment
Confirm
Within 4 hours of shipping
submitShipmentConfirmations / 856
Late confirmation; floor denial if not shipped
Inventory
Continuous
submitInventoryUpdate
Fill failures from stale counts
Invoice
After shipment
submitInvoice / 810
Payment delay, cost mismatch rejections
Automation
How InfiPlex runs this end to end
InfiPlex connects to Vendor Central Direct Fulfillment through the Vendor DF APIs with RDT, or through EDI where a vendor is already set up that way. Orders pull on a short cycle, acknowledgments fire from the shared inventory pool, labels are created through Amazon’s call and land at the pack station or in your WMS, shipment confirmations post from the ship scan, inventory updates push as every channel sells, and invoices post after shipment with the PO cost. DF orders sit in the same queue as Seller Central, Walmart, and Shopify orders, so a warehouse runs one process. Set-up details are in the DF SP-API set-up article; the program page is Amazon Direct Fulfillment integration.
Frequently asked
Questions, answered
The deadlines and codes above are Amazon’s; these are the questions vendors ask in the first month.
Amazon asks for the acknowledgment as quickly as possible and no later than 24 hours after the purchase order is created. It must cover every line, and the order is accepted or rejected in full; partial acknowledgments are not accepted.
No. Direct Fulfillment is fill or kill. If any line cannot ship, reject the order (code 03 for out of stock) at acknowledgment. Accepting and then shipping part of it is not an option; an accepted order you cannot complete becomes a floor denial.
A fill failure is rejecting the PO at acknowledgment because you cannot fill it. A floor denial is accepting the PO and then failing to ship it, reported on the shipment confirmation with shipmentStatus FLOOR_DENIAL. Both count toward the cancellation rate chargeback; the floor denial is worse for the customer because they already waited.
Within four hours of the carton leaving your warehouse, through submitShipmentConfirmations or EDI 856, with every line, the ship date, carrier, tracking number, and estimated delivery date.
No. You request the label from Amazon with createShippingLabels and Amazon issues it on its carrier contract using the ship method specified on the PO. Shipping on your own account with a different method is a ship method mismatch chargeback.
Because getOrders and getOrder are restricted operations. The customer name and address are PII and require a Restricted Data Token from the Tokens API. An integration using a plain access token receives the PO with the address withheld.
requiredShipDate is the latest date the order may leave your warehouse; missing it is a late shipment. promisedDeliveryDate is the date Amazon promised the customer, which is why Amazon chooses the ship method and why you should not change it.
Often enough that Amazon never sends an order for a unit you no longer have. Hourly is the minimum for a catalog that also sells on other channels; near real time from a shared inventory pool is the target, with a per-SKU buffer for fast movers.
Yes. Vendors already set up on EDI 850/855/856/810 with Amazon can run DF through InfiPlex on EDI; new connections use the Vendor Direct Fulfillment SP-API endpoints with RDT. Either way the orders land in the same queue as your other channels.
Acknowledgments from live inventory, Amazon-issued labels at the pack station, confirmations from the ship scan, invoices after shipment. Live in 1–3 business days with USA‑based onboarding.
Already in Direct Fulfillment and fighting the clocks?
Our team has connected Vendor Central Direct Fulfillment accounts through SP-API and EDI for years. Bring your PO volume and your current tooling and we will map where each deadline is slipping. Contact us, email info@infiplex.com, or call 888‑770‑0857.
Our website uses cookies to help provide the best user experience. By continuing to use this site, you consent to the use of cookies as described in our Privacy Policy. OK