OSOSS Help Center
العربيةOpen Dashboard

Transfer Inventories

A transfer moves stock from one branch to another. It is deliberately a two-sided document: the sending branch records what it sent, the receiving branch records what it actually got, and OSOSS keeps both numbers so a discrepancy has an owner.

Menu path: Inventories > Transfer Inventories

Screenshot from the live OSOSS Dashboard

The lifecycle of a transfer

StageWhat happensRecorded as
RequestedThe receiving branch asks for stock, or the sender initiatesRequested by, request reference
SentQuantities leave the source branchQuantity transferred, quantity sent
SeenThe receiving branch has opened the transferSeen by, seen at
ReceivedThe receiving branch confirms quantitiesQuantity received, received by, accepted at
ReconciledAny difference is resolvedDifferences, reconciliation action

That differences column is the point of the whole design. If ten cases were sent and nine arrived, the transfer holds both figures and the gap is explicit - not silently absorbed into whichever branch counts next. The reconciliation action is how you decide the gap's fate: accept the receiving branch's figure, or investigate before posting.

Lines carry the product with its SKU and barcode, available quantity at source, unit cost, average cost, expiry date, shipment number and reference. Whether the receiving branch must confirm at all is controlled by transfer receipt in Operations Settings.

Move stock between branches

  1. Create the transfer, choosing the From branch and To branch.
  2. Add products. Watch the available quantity column at the source - transferring stock you do not have creates a shortage at the sending branch instead of solving one at the receiving branch.
  3. Enter the quantities, add a note explaining the reason, and save.
  4. Physically send the goods with the transfer's number written on the paperwork.
  5. At the receiving branch, open the transfer and enter what actually arrived. Confirm.
  6. If quantities differ, resolve the difference before accepting - a transfer accepted with an unexplained gap is stock written off by default.
Tip: Transfer in whole cartons where you can, and write the transfer number on the box. Almost every transfer discrepancy is a partially opened carton nobody recounted.
Warning: Stock in transit belongs to neither shelf. If a transfer sits unreceived for days, both branches are working from wrong availability - the sender's is too low, the receiver's is too low, and your online stock is understated.

Full reference

Every option and control on this page, at a glance.

Filters (20)

Form fields (18)

Barcode, Customer ID, Date, Default unit ratio, Extra data, From branch ID, Inventory transactions, Items, Name, Note, Product ID, Quantity, Requested by, SKU, To branch ID, Unit, Unit ID, Unit ratio

Standard list tools

Every list page in OSOSS shares these controls:

Related pages

What you can do on this page

Every action on this page, step by step. What you see depends on your role, so a control your account is not set up for simply does not appear.

Add a record

  1. Click Add above the table - some pages label it New or show a + icon.
  2. Complete the form. Required fields carry a red asterisk and the form will not submit until they are filled.
  3. Click Save. Validation runs on submit; any field that fails shows its message directly beneath itself, and the form scrolls to the first problem.
  4. You land back on the list with the new record in place.

Fields on this form: Barcode, Customer ID, Date, Default unit ratio, Extra data, From branch ID, Inventory transactions, Items, Name, Note, Product ID, Quantity, Requested by, SKU, To branch ID, Unit, Unit ID, Unit ratio

Searchable dropdowns (customer, product, account, branch...) read live data - start typing to filter rather than scrolling. Most also let you create the missing record inline so you don't lose the form you are in.

Edit a record

  1. Open the row's actions menu at the end of the row and choose Edit, or open the record and use Edit there.
  2. The form loads with current values. Change only what you need.
  3. Click Save.
Documents that are already posted to accounting, paid, or fulfilled lock the fields that would change history. That is deliberate - issue a refund, a credit note, or an adjustment instead of rewriting the original.

Open and read a record

  1. Click the row, or choose View in the row's actions menu.
  2. The detail page shows the record's own fields, its related documents, and the actions that apply to it in its current state.
  3. Use the breadcrumb or your browser's back button to return - your filters, sort, and page position are preserved.

Delete a record

  1. Open the row's actions menu and choose Delete.
  2. Confirm in the dialog. There is no undo from the interface.
  3. If the record is referenced elsewhere - used on a document, tied to a transaction - the delete is refused and the reason shown.
When a record is refused, or when it may come back into use later, deactivate it instead of deleting. It disappears from selection lists while every document that already used it keeps reading correctly.

Export the list

  1. Filter and choose your columns first - the export mirrors exactly what is on screen, not the whole table.
  2. Click Export All.
  3. The file downloads as a spreadsheet: one row per record, your visible columns in your order.

Import records

  1. Click Import.
  2. Download the template if one is offered - its headers are exactly what the importer expects.
  3. Fill the template, upload it, then map each of your columns to an OSOSS field.
  4. Read the validation result: every failing row is listed with its reason. Fix the source and re-upload, or import only the passing rows.
  5. Confirm. Nothing is written to your account before this step.

Print or save as PDF

  1. Choose Print in the row's actions menu, or open the record and use Print there.
  2. Pick the template or format if you are prompted.
  3. Your browser's print dialog opens - print it, or choose Save as PDF as the destination.