For a pharmacy or a pharmaceutical warehouse in Saudi Arabia, RSD track and trace is no longer a project for later. The Saudi Food and Drug Authority (SFDA) expects every movement of a tracked pack, from the warehouse that receives it to the pharmacy that dispenses it, to be reported through its Drug Track and Trace System, known as RSD. Getting it wrong is costly: the SFDA penalises facilities that do not report drug movements through the system, and penalties can extend beyond fines to the facility's licence.
The good news is that compliance does not have to mean extra work at the counter. When the pharmacy system is designed around RSD, the notification is created by the scan the pharmacist already makes. This guide explains how RSD works, what is encoded on each pack, which events must be reported, and how Sellify, the pharmacy and pharma-distribution ERP built by S-Plus, handles each step.
What RSD track and trace is
The SFDA introduced RSD in 2018 to monitor human pharmaceutical products manufactured in or imported into the Kingdom. It is built on GS1 global standards and covers pharmaceutical products on the Saudi market, including over-the-counter medicines. Every stakeholder in the chain, from manufacturers and importers to warehouses, distributors, hospitals and pharmacies, reports the operations it performs on each pack, and the SFDA's guidance encourages stakeholders to integrate their own computer systems with RSD rather than enter transactions by hand, which removes a common source of error.
Why it matters to your business
- Counterfeit protection: each pack carries a unique, randomly generated serial number, so a duplicated or unregistered pack can be detected.
- Recalls in hours, not days: because every pack's path is known, a recalled batch can be located down to the pharmacy that holds it.
- Shortage visibility: the regulator sees stock moving across the market in near real time.
- Enforcement: missing notifications are a finable violation, as the 2026 penalties show.
What is inside the GS1 DataMatrix on each pack
The small square code printed on a medicine box is a GS1 DataMatrix. It carries several data fields, each introduced by a GS1 Application Identifier (AI). The SFDA integration guide shows the standard sequence below.
| AI | Field | What it tells you |
|---|---|---|
| (01) | GTIN | The product and pack size, a 14-digit Global Trade Item Number. |
| (21) | Serial number | The unique identity of this individual pack. |
| (17) | Expiry date | The pack's expiry date. |
| (10) | Batch or lot | The production batch the pack belongs to. |
Two other GS1 keys matter. The GTIN identifies the product, and the system must check its check digit so that a mistyped code never becomes an item. The GLN (Global Location Number) identifies a location or party, such as your warehouse, a customer pharmacy or a supplier, so that a dispatch can say exactly where a pack is going.
The events: what must be reported and when
RSD works on operations. Each one is keyed by GTIN and serial number, or by batch, and each changes who holds the pack. A key rule from the SFDA: a receiving party must send an accept notification before it can work with the product sent to it. Until it does, the product sits between the two parties and neither can perform any operation on it.
| Business moment | RSD meaning |
|---|---|
| Goods arrive from a supplier | Accept: you confirm receipt of the specific serials. |
| A warehouse sells to a licensed pharmacy or hospital | Dispatch to the customer's GLN, which the customer then accepts. |
| A pharmacy sells to a patient | Pharmacy sale (dispense): the pack leaves the supply chain. |
| Stock moves between your own warehouses or branches | Transfer, then receipt at the destination. |
| A customer returns packs | Return of the specific serials. |
| A sale is cancelled | Cancellation of the earlier notification. |
The exact service names, message fields, authentication and signing are defined in the SFDA's integration documentation and are configured for each facility during onboarding with the authority.
How Sellify handles RSD, step by step
1. Linking items to GTINs and locations to GLNs
From the RSD section, each item is linked to its GTIN-14, validated by its check digit, and serial tracking is switched on for it. Each warehouse, customer and supplier can hold its GLN, so a dispatch always knows its destination.
2. Receiving by serial
After the purchase invoice records the batch and expiry date, staff scan the GS1 DataMatrix of each box in the serial receiving screen, and the system creates the accept notification. Scanning works with a barcode reader or with a phone camera, which matters in a warehouse receiving dozens of cartons.
3. Selling at the counter
For a tracked item, the POS asks the pharmacist to scan every box sold, including free bonus units. Each box is taken from its real batch. The system then creates a dispatch notification when the buyer is a licensed customer with a GLN, or a dispense notification when the buyer is a patient or a cash customer. The regular sales invoice screen refuses tracked items, so they cannot slip out without scanning. The sales rep app follows the same rule when a rep places an order.
4. Returns, cancellations and transfers
- Full return: covers every box on the line. Partial return: the user picks the specific serial numbers. Both create a return notification.
- Deleting an invoice creates a cancellation notification for its packs.
- Transfers between your warehouses require scanning the boxes before sending, and the destination receives the same serials.
5. A queue that never stops the counter
Every notification goes into an event queue with retry attempts and back-off, processed every minute. If the connection to the regulator is slow or down, the sale still completes and the notification is sent later. The pharmacist is never told to make a patient wait because a government endpoint is busy.
6. Screens for the compliance officer
- Notifications: each event with its status (sent, pending, failed).
- Trace: the full history of a single box, for example received, transferred, sold.
- Coverage: registered serials compared with batch stock, which reveals boxes that were received without scanning.
- Settings: the connection mode, with changes recorded in the audit log.
What the system prevents
| Common mistake | What happens in Sellify |
|---|---|
| Selling a box that was never received by serial | Refused: the serial is not registered in your stock. |
| Selling the same box twice | Refused: the serial is already sold. |
| Selling an expired box | Refused, together with FEFO dispensing for batch-tracked items. |
| Forgetting to scan the bonus units | The POS asks for every unit, paid and free. |
| Losing notifications during an outage | They wait in the queue and are retried automatically. |
| Selling tracked items offline without scanning | The offline POS mode does not allow serial-tracked items. |
Serial tracking works best on top of clean batch data. If you are still building that foundation, start with our guide to FEFO and pharmacy expiry management.
Who does what: RSD responsibilities inside the business
Track and trace fails most often at the hand-offs between people, not inside the software. Before go-live, agree who owns each step and give each role only the permissions it needs.
| Role | RSD responsibility | What to check daily |
|---|---|---|
| Storekeeper or receiving staff | Scan every box at receipt after the purchase invoice is posted, and scan boxes before sending a transfer. | No delivery is shelved before serial receiving is complete. |
| Pharmacist or cashier | Scan every box of a tracked item at the counter, including bonus units, and choose the right customer so the event is a dispatch or a dispense. | Returns are entered against the original invoice, with the correct serials. |
| Compliance officer | Watch the notifications and coverage screens and follow up on failed events. | Failed or pending events older than a day, and coverage gaps. |
| Branch or warehouse manager | Approve exceptions and make sure staff are trained in log mode before live sending. | The audit log for deleted invoices and settings changes. |
Two habits make the biggest difference. First, never put a delivery on the shelf before it is received by serial, because a box that is not registered cannot be sold later and will stop the queue at the counter. Second, close every day with a look at failed events, so a configuration problem is spotted in hours rather than discovered weeks later. If your branches sometimes lose connectivity, read how sales continue in our guide to an offline pharmacy POS, and note that serial-tracked items wait for the connection to return.
Going live with the SFDA: a practical path
Sellify's internal RSD side is complete: GTIN linking, serial scanning, the event queue, retries, history and coverage. The connection supports three modes: off, a log mode that simulates the queue for staff training, and live sending. A connector for the SFDA's service interface is prepared and ready to be configured against the authority's specification. Going live follows these steps:
- Register the facility with the SFDA's track-and-trace programme and confirm the requirements that apply to your activity (pharmacy, warehouse or both).
- Obtain the integration documents and credentials for your facility from the SFDA.
- Map the fields in Sellify's RSD configuration to the official specification.
- Test on the authority's environment, then switch from log mode to live.
- Train staff in log mode first, so scanning habits are in place before live notifications start.
- Watch the coverage screen during the first weeks to catch any receipts done without scanning.
The warehouse app makes steps five and six easier, because receiving and counting are done by scanning on a phone. See our article on sales rep and warehouse mobile apps.
The GCC context
Saudi Arabia is not alone. In the UAE, the Ministry of Health and Prevention leads Tatmeen, a national platform for tracking and tracing pharmaceuticals using GS1-based serialisation, launched together with the Department of Health Abu Dhabi and the Dubai Health Authority. Other Gulf states have their own regulators and timelines, so check the current requirements with your local authority. Sellify's track-and-trace integration targets the SFDA today; its building blocks (GTIN, GLN, serial scanning, an event queue and pack history) are the same ones any GS1-based programme relies on, which makes adaptation a matter of scoping rather than rebuilding. Talk to us before planning a rollout outside Saudi Arabia.
Frequently asked questions
Does RSD apply to small, single-branch pharmacies?
The SFDA states that RSD covers pharmaceutical products on the Saudi market, and the 2026 fines were issued to pharmacies. Any pharmacy that receives and dispenses tracked medicines should treat reporting as mandatory and confirm its obligations with the SFDA.
Do I need to scan every box, or is the batch enough?
For serialised products, each box has its own serial number and is reported individually. Sellify asks for a scan of every box of a tracked item at receipt, sale, transfer and return, including free bonus units.
What happens if the SFDA connection is down during a sale?
The sale goes through. The notification waits in the queue and is retried automatically, and failed events are visible on the notifications screen.
Can a pharmacy that buys from a warehouse sell a pack before accepting it?
Under the SFDA's rule, a receiving party must send an accept notification before working with the product. In Sellify, a serial-tracked box must be received by serial before it can be sold.
Is Sellify's RSD connection already sending to the SFDA?
The internal workflow is complete and the connector is ready to configure. Live sending is activated per facility once its SFDA registration and credentials are in place and the connection is tested on the authority's environment.
Make RSD part of the scan, not extra paperwork
RSD compliance is decided at the counter and the receiving dock. If your team already scans every box, the system should do the rest. RSD is one part of a full pharmacy ERP, alongside batches, ZATCA invoicing and permissions. Request a Sellify demo and we will walk through a serialised receipt, a sale and a return on your own scenarios.


