FBF stock only goes live after a Fawran warehouse receives and activates it. You make that happen with the 4-step inbound-shipment wizard. This guide walks every step, including the box-allocation rules and the label attestations that gate the final submit.
Where to find it
Go to Shipments›FBF Shipments and click Add New Shipment. The wizard is titled "Create FBF Shipment" and auto-saves your progress as a draft.
- The products are already added to inventory as FBF (see Add Inventory).
- You know how many units of each product you’re sending.
- You can weigh and measure every box you’ll pack.
- A printer is available — carton labels are always printed by you before handover.
Step 1 — Select products
Pick products from your FBF inventory and set how many units of each you’re sending. The wizard totals the units for you; you can’t continue with an empty selection («لم يتم اختيار أي منتج للشحنة»).
Step 2 — Boxes & dimensions
Declare each box’s weight and dimensions (length × width × height in cm, weight in kg), then assign products into boxes explicitly — there is no auto-distribution. The wizard validates the allocation continuously and blocks the next step until it’s clean. The exact rules (shown as Arabic messages in the app):
| Rule | On-screen message |
|---|---|
NO_BOXES — at least one box | «يجب إضافة صندوق واحد على الأقل» |
EMPTY_BOX — no box without products | «الصندوق لا يحتوي على أي منتج» |
UNDER_ALLOCATED — every unit must be in a box | «لم يتم توزيع {n} قطعة من منتج بعد» |
OVER_ALLOCATED — no box overfill vs selection | «تم تخصيص {n} قطعة من منتج ولكن الكمية المختارة {m} فقط» |
COUNT_MISMATCH — box total must match its declared count | «إجمالي قطع الصندوق ({sum}) لا يساوي العدد المسجّل ({count})» |
NON_INTEGER — whole numbers only | «الكمية يجب أن تكون عدداً صحيحاً (بدون كسور)» |
Declare boxes and dimensions accurately. The warehouse re-measures on receipt and records the actual values; significant deviations are flagged and can delay your stock going live.
Step 3 — Preparation & delivery
Choose how the shipment reaches Fawran, and always pick the destination platform warehouse:
| Method | What it requires |
|---|---|
| By Platform («عن طريق المنصة») — a Fawran captain picks up from you | Your source warehouse, a pickup date in the future («تاريخ التسليم يجب أن يكون في المستقبل»), a pickup time slot (09:00–12:00 / 12:00–3:00 / 3:00–6:00 / all day), and a pickup contact (name + phone). Optional pickup instructions. |
| Self-delivery («تسليم ذاتي») — you drop it off at the platform warehouse | The expected arrival date (future) and, optionally, your vehicle plate number to ease warehouse gate entry. |
If no platform warehouse is ready for pickup, the wizard blocks with «لا توجد مستودعات منصة جاهزة للاستلام» — the platform side hasn’t finished its logistics setup yet. Try self-delivery or contact support.
Step 4 — Confirmation and the submit gates
Step 4 is a full review: products, per-box allocations, declared shipment dimensions, delivery details, and a fee summary. Then come the gates that must all pass before Confirm shipment unlocks — mirrored in a visible pre-dispatch checklist («قائمة التحقق قبل التسليم»):
- Unit-label responsibility — when the unit-barcode feature is active you must choose who prints the FWU unit labels:
SELLER_PRINTS(you print one unique label per unit before handover) orFAWRAN_PRINTS(Fawran prints and attaches them during receiving — you never label units). Skipping the choice shows «يرجى اختيار مسؤولية طباعة ملصقات الوحدات قبل التأكيد.». While the feature awaits platform activation, the wizard assignsFAWRAN_PRINTSautomatically and shows it read-only. - Carton-label attestation — always required. You must tick: «أتعهّد بطباعة وإلصاق جميع ملصقات الكراتين على كل صندوق قبل تسليم الشحنة.» (I pledge to print and attach all carton labels to every box before handing over the shipment). Carton labels are mandatory and always yours, whatever the unit mode.
- Unit-label attestation — only under
SELLER_PRINTS. You additionally tick: «أتعهّد بطباعة وإلصاق جميع ملصقات الوحدات (FWU) على كل وحدة قبل تسليم الشحنة.»
A fee summary appears at this step. The financial details of this step are covered in a dedicated Finance guide coming soon.
After you submit
Confirming creates the shipment and moves it to PENDING_PICKUP («بانتظار الاستلام»). The success screen offers the label downloads — shipment label, carton/box labels, SKU labels — and, under SELLER_PRINTS, points you to the Barcode Center to allocate and download unit labels.
- No edits after submit. A submitted shipment’s products, boxes and delivery details are locked. Only the unit-label mode can still be changed — from the shipment detail page, and only before receiving.
- Cancel is possible only while the shipment is
DRAFTorPENDING_PICKUP— the app confirms with «هل أنت متأكد من إلغاء هذه الشحنة؟». After the captain leg starts, cancellation is no longer available. - A draft saved with Save as draft stays fully editable; submit it later with Send shipment («إرسال الشحنة») from its detail page.
"Ahmad Home Goods" sends 20 units of Colombian Coffee Beans 250g (SKU CF-250-COL) in 2 boxes (12 + 8). At step 3 he picks By Platform, his main warehouse, 2026-07-20, the 09:00–12:00 window and his own phone as contact. At step 4 he chooses Fawran prints for unit labels, ticks the carton pledge, confirms, prints 2 carton labels plus the shipment label, and sticks them on before the captain arrives. Follow the full worked example in A complete FBF inbound, start to finish.
Troubleshooting & common mistakes
Skipping printing after attesting. The pledge is not a formality: unlabeled cartons (or unlabeled units under seller-prints) block receiving at the warehouse and open discrepancy cases. Print first, then tick.
Choosing seller-prints while the unit-barcode service is awaiting activation. Unit labels can’t be generated yet in that state — the detail page will advise switching to Fawran-prints if you need to ship now.
Leaving units undistributed at step 2 and hunting for the blocker at step 4. The checklist item "all units distributed" traces back to the box-allocation messages above — fix them at step 2.