Two branches can both show the same stock if a transfer is treated as a spreadsheet copied from one location to another. The opposite problem is just as costly: goods leave the sending branch, disappear from its available balance and never become a documented receipt at the destination.
A transfer needs a reference, a custody trail and a receiving decision. International pharmacy groups also need to confirm whether movement between their particular legal entities and locations is permitted. This operational model does not replace local distribution requirements.
Use an in-transit state
Separate requested, approved, dispatched, received and exception states. Requested stock remains at the sending location until the appropriate movement occurs. Dispatched stock belongs in an identifiable in-transit record, rather than appearing immediately as usable stock at the receiving branch.
In a hypothetical transfer, Branch A dispatches 60 units and Branch B accepts 58. The transfer record should retain 60 dispatched, 58 accepted and two unresolved. Do not silently rewrite dispatch to 58; that removes evidence needed to investigate the difference.
The network total must also reconcile. Moving stock is not a sale to a customer and does not create additional inventory. Accounting for transfers between separate legal entities may differ and should be reviewed locally.
Identify the actual product and batch
Record product identifier, pack conversion, batch, expiry, quantity, sending location and receiving location. Products with similar names can differ in strength, form, manufacturer or permitted market presentation. A name-only match is not sufficient for a reliable transfer record.
Keep transport and storage requirements attached to the product's approved handling procedure. A transfer convenience should not override restrictions on saleability or required storage conditions.
GS1's healthcare traceability overview provides useful context for recording movement through locations. Whether a particular identifier or traceability standard is required depends on the product and market.
Reconcile quantities at both ends
Have the sender record the count, time and dispatch reference. The recipient checks the physical delivery against that reference and records accepted quantities and discrepancies. For an exception, keep the evidence, reviewer and follow-up rather than closing the transfer automatically.
Use a simple transfer sheet: reference, product, batch, base unit, dispatched quantity, dispatch time, carrier or custodian, received quantity, receipt time, discrepancy reason and approver.
Avoid reallocating the same incoming stock to several customer commitments. Until the receiving decision is complete, availability rules should make the in-transit status clear.
Check ageing transfers weekly
Review transfers that have exceeded their expected journey time. Contact the responsible person, verify the actual location and resolve the record. An old in-transit balance can conceal lost goods, an unposted receipt or a transfer entered twice.
Compare physical network counts with branch and transit balances using the same time cut-off. For a planned transfer of 60 units, the network count should not increase by 60 merely because both dispatch and receipt exist.
For developers, a transfer should be a linked transaction with unique references, not two independent editable quantities. Protect against duplicate receipt posting and retain the original dispatch details when an exception is corrected.
Review RunMyPharmacy's inventory tools and location-oriented shelf records. Confirm actual multi-branch, transfer and legal-entity support during a demonstration; the model here is an acceptance checklist rather than a claim that every transfer feature is implemented.
Disclosure: created for the RunMyPharmacy team with AI drafting assistance and checks of examples, sources and product links. We build the linked product. Numerical examples are hypothetical.
Top comments (0)