Import data brings your existing records into MediPOS from Excel instead of typing them one by one. It is meant for a pharmacy moving from a register or old software: your product list with pack sizes, prices and today's stock, your udhaar customers with what they owe, and your distributors with what you owe them. Every row is checked before anything is saved, and a file goes in completely or not at all.
What you can import
The Import data screen (Administration → Import data) has three cards.
| Card | What it brings in | Opening figures it can carry |
|---|---|---|
| Products & opening stock | Medicines with up to three units, prices, barcode, rack and reorder level | Stock on hand today with batch, expiry and cost |
| Customers | Regular customers with phone, CNIC, address, credit limit and credit days | What each customer owes you today |
| Suppliers | Distributors and companies with contact person, phone, WhatsApp, email, address, NTN and credit days | What you owe each supplier today |
How to import a file
- Open Administration → Import data.
- On the card you want, click Download template. The file has the header row and one example row. Delete the example row before you add your own.
- Open the template in Excel and fill in one row per product, customer or supplier. Keep the header row. Open Columns on the card to see what each column means. Required columns have a red star.
- Save it with File → Save As → CSV. Choose CSV UTF-8 if your names include Urdu.
- Back on the same card, choose the file and click Check.
- The next screen shows three counts: Rows, Ready and With problems. Below them, Fix these rows lists each problem by row number, and First rows of the file shows how MediPOS read your first ten rows.
- If there are problems, correct them in Excel, save again and click Upload another file. Nothing has been saved yet.
- When the screen says All 412 rows look good, click Import 412 rows and confirm.
Products and opening stock
Quantities and costs are always in the smallest unit you sell, such as a tablet, capsule or bottle.
| Column | What to enter |
|---|---|
name (required) | Name with strength and form, e.g. Brufen 400mg Tablet |
generic | Generic or formula, e.g. Ibuprofen |
sku | Your own code; leave blank for an automatic one |
barcode | The barcode printed on the pack |
base_unit (required) | Smallest unit you sell, e.g. Tablet |
base_price | Sale price of one smallest unit |
pack_unit, pack_size, pack_price | e.g. Strip, 10, 45 |
box_unit, box_size, box_price | e.g. Box, 30, 135 (size counts smallest units) |
reorder_level | Reorder when stock falls to this many smallest units |
rack | Shelf or rack, e.g. A-3 |
opening_qty | Stock on your shelves today, in smallest units |
batch_no, expiry, unit_cost | Batch, expiry and cost of one smallest unit for that stock |
A worked example: you have 8 boxes of Brufen 400mg (30 tablets each) from batch BR2217, expiring November 2027, bought at a TP of Rs 108 a box. Enter opening_qty 240, batch_no BR2217, expiry 11/2027 and unit_cost 3.60 (108 ÷ 30). A bottle item such as Brufen Syrup 90ml needs only base_unit Bottle and a base_price.
When opening_qty is filled, batch_no, expiry and unit_cost are required, because the cost values your stock. All the opening stock in one file becomes a single opening stock document at the Main Store of the branch you are working in, dated today, with the note Imported with the product list.
Customers and their udhaar
The columns are name (required), phone, cnic, address, credit_limit, credit_days and opening_balance. If Haji Muhammad Aslam owes Rs 2,500 in your old khata, enter 2500 as his opening_balance. A negative figure, such as -500, means the customer has paid you in advance. Leave credit_limit blank or 0 for no limit. credit_days is a whole number from 0 to 365.
Suppliers and what you owe them
The columns are name (required), contact_person, phone, whatsapp, email, address, ntn, credit_days and opening_balance. If you owe your distributor Rs 45,000 on old bills, enter 45000. Enter a negative figure when the supplier owes you, for example after an expiry claim they have not settled.
Customer and supplier opening balances are posted in your books against the Opening balances account, dated the day you import. For opening cash and bank balances, see Money transfers and opening balances.
Rules and tips
- You need the Import data permission. The Owner and the built-in Admin role have it.
- If Import data is not in your menu, your plan does not include it; the owner can see what each plan includes under Plan & billing.
- A file can have up to 20,000 rows and be up to 20 MB. A big file is checked and imported in the background: the page shows Checking every row of your file… and then Importing…, and updates by itself. You can leave it and come back from Import data. Split a bigger list into two files, for example A to L and M to Z.
- Commas or semicolons both work as separators. Headers are read loosely, so
Base Unitworks asbase_unit. Columns MediPOS does not use are listed and ignored. - Amounts may include
Rs.and commas, such asRs. 1,250. Dates can be2027-03-31,31/03/2027or month-only03/2027, which is read as the last day of that month. - Duplicates are refused: a product name already in your products, a barcode that belongs to another product, a customer phone number already in use, or a supplier name that already exists. So importing the same file twice does not create doubles.
- One product appears once per file, so the import carries one batch per product. Add a second batch by hand under Inventory → Stock adjustments → Opening stock.
- The import is recorded in the audit log as Data imported. Opening stock also shows as Opening stock posted.
- There is no one-click undo. Check the preview carefully before you confirm.
- While your subscription is restricted, a product file that carries opening stock is refused.
Common questions
Can I bring my data from my old pharmacy software?
Yes, if it can export to Excel or CSV. Copy its columns into the MediPOS template under the matching headers, save as CSV and upload.
Why does it say a product is "already in your products"?
A product with the same name is already in MediPOS, perhaps added from the medicine database. Remove that row from the file, or rename it if it really is a different item.
Can I import stock for a product that is already in MediPOS?
No. The product import only creates new products. Enter stock for existing products under Stock adjustments → Opening stock.
Will Urdu names import correctly?
Yes, if you save the file as CSV UTF-8 in Excel. Check the First rows of the file table before importing.
On Cloud, which branch receives the imported stock?
The branch you are working in when you click Import. Switch to the right branch first if you have several.
Related guides
Last updated 25 September 2026. Still stuck? Contact us.