
นำเข้าชุดสินค้าด้วยไฟล์ CSV ในระบบร้านขายยาทีฟาร์ม
ร้านค้าสามารถนำเข้าชุดสินค้าหลายรายการพร้อมกันได้ (รองรับสูงสุด 2,000 รายการต่อ 1 ครั้ง) ผ่านไฟล์ CSV (Comma-separated values) โดยไฟล์ CSV นี้สามารถสร้างได้จาก MS Excel, Google Sheets หรือ Numbers เป็นต้น
วิธีเข้าเมนูนำเข้าชุดสินค้า (Import)
สามารถนำเข้าชุดสินค้าจาก (1) แถบเมนูสต๊อกสินค้าด้านซ้ายมือ และเลือก (2) “เพิ่มชุดสินค้า/นำเข้า/แก้ไข (Import)”
การดาวน์โหลดเทมเพลต CSV
เริ่มต้นด้วยเทมเพลตจากปุ่ม (3) “ตัวอย่างเทมเพลตชุดข้อมูล” ระบบจะดำเนินการดาวน์โหลดไฟล์ CSV เพื่อใช้เป็นตัวอย่างในการสร้างรายการสินค้า โดยสามารถเปิดใช้งานผ่านโปรแกรม MS Excel, Google Sheets หรือ Numbers ได้ตามต้องการ
ในไฟล์เทมเพลตนี้ ชื่อคอลัมน์เป็นส่วนสำคัญมาก สำหรับการอ้างอิงข้อมูลสินค้า ห้ามแก้ไขชื่อคอลัมน์ ปรับเปลี่ยน หรือลำดับคอลัมน์ใหม่โดยเด็ดขาด (หากมีการแก้ไขชื่อคอลัมน์ เมื่อนำไฟล์นี้เข้าไปในระบบ ระบบจะแจ้งเตือนและไม่อนุญาตให้ผ่าน)
รายละเอียดคอลัมน์สำคัญในไฟล์ CSV
แต่ละคอลัมน์ในไฟล์เทมเพลตมีรายละเอียดดังนี้
- ID — สำหรับการอ้างอิงสินค้าที่มีอยู่ในระบบเพื่อแก้ไขข้อมูล หากเป็นสินค้าที่ต้องการสร้างหรือเพิ่มใหม่ ให้ปล่อยช่องนี้ว่าง ไม่ต้องระบุข้อมูล
- ชื่อสินค้า ** — บังคับต้องระบุ ไม่สามารถปล่อยว่างได้
- ประเภทสินค้า — ต้องระบุตามที่ระบบกำหนด ได้แก่ ยารักษาโรค, ผลิตภัณฑ์เสริมอาหาร, ผลิตภัณฑ์เสริมความงาม, อุปกรณ์ทางการแพทย์, อุปกรณ์อื่นๆ, อาหาร/เครื่องดื่ม, สินค้าต้นทุน/การโฆษณา เท่านั้น
- ชื่อสามัญทางยา — ไม่จำเป็นต้องระบุ
- ชื่อย่อ — ไม่จำเป็นต้องระบุ
- สถานะสินค้า — สถานะการแสดงผลสินค้าในหน้าการขาย POS โดยต้องระบุตามที่ระบบกำหนด ได้แก่ “แสดงหน้าร้าน”, “ไม่แสดงหน้าร้าน” เท่านั้น
- ภาษีมูลค่าเพิ่ม — กำหนดว่าสินค้าอยู่ในกลุ่มภาษีมูลค่าเพิ่ม (VAT) แบบใด โดยต้องระบุตามที่ระบบกำหนด ได้แก่ “ไม่มี VAT”, “VAT 0%”, “VAT 7%” เท่านั้น
- วันแจ้งเตือน — กำหนดจำนวนวันที่ต้องการให้ระบบแจ้งเตือนก่อนวันหมดอายุของสต๊อกสินค้า โดยสามารถกำหนดได้ตั้งแต่ 30, 60, 90, 180 และ 240 วัน (ระบุเป็นตัวเลข เช่น 90)
- ราคาขาย ** — บังคับต้องระบุ ไม่สามารถปล่อยว่างได้
- หน่วยนับ ** — บังคับต้องระบุ เช่น กล่อง, ชิ้น, เม็ด, แผง หรือขวด เป็นต้น (และห้ามมีเครื่องหมายหรืออักขระพิเศษ เช่น !@#$%^&*)
- ขนาดบรรจุ ** — ระบุตัวเลขแสดงขนาดบรรจุของสินค้าในแต่ละหน่วยนับ (ค่าเริ่มต้นสำหรับหน่วยนับที่เล็กที่สุดควรเป็น 1 เสมอ)
- ต้นทุน — ใช้สำหรับการคำนวณกำไร/ขาดทุน (ไม่จำเป็นต้องระบุ)
- SKU — ไม่จำเป็นต้องระบุ
- บาร์โค้ด — ระบุในกรณีที่ร้านค้ามีการใช้เครื่องสแกนบาร์โค้ดในการขายสินค้า
- คงเหลือ — จำนวนสต๊อกคงเหลือก่อนนำเข้าสินค้า เหมาะสำหรับการตั้งต้นสต๊อกตอนเริ่มใช้งานระบบครั้งแรก
- ปริมาณ — ระบุตัวเลขปริมาณ เช่น สินค้า AA มีปริมาณ 120 ml ให้ระบุเฉพาะตัวเลข 120 เท่านั้น
- หน่วยปริมาณ — ระบุหน่วยปริมาณ เช่น ml, L, cc, mg, g เป็นต้น
- รหัสชั้นวาง — รองรับฟังก์ชันการพิมพ์ป้ายราคาสินค้า (ไม่จำเป็นต้องระบุ)
- แถว — รองรับฟังก์ชันการพิมพ์ป้ายราคาสินค้า (ไม่จำเป็นต้องระบุ)
- หมวดหมู่ — หมวดหมู่ของสินค้า ไม่จำเป็นต้องระบุ แต่หากระบุ ข้อมูลต้องตรงกับที่ระบบกำหนด ได้แก่ ยาสามัญประจำบ้าน, ยาบรรจุเสร็จ, ยาอันตราย, ยาควบคุมพิเศษ, วิตามิน / อาหารเสริม / อาหารทางการแพทย์, สมุนไพร / แผนโบราณ, เวชภัณฑ์ / เครื่องมือแพทย์, เครื่องสำอาง / ผลิตภัณฑ์บำรุงผิว, เบ็ดเตล็ด อื่นๆ, ยาใช้ภายนอก, ยาใช้เฉพาะที่, ยาใช้ภายใน, ยาแผนปัจจุบัน, ยาแผนโบราณ, ยาฉีด, วัตถุอันตราย เท่านั้น หากต้องการเพิ่มหมวดหมู่เฉพาะของร้านเอง ต้องเพิ่มจากเมนู “หมวดหมู่สินค้า” ก่อนนำเข้าชุดสินค้าใหม่เสมอ
- หมวดหมู่ยาแยกตามอาการที่รักษา — ไม่จำเป็นต้องระบุ แต่หากระบุ ข้อมูลต้องตรงกับที่ระบบกำหนด ได้แก่ ระบบทางเดินอาหาร, ระบบหัวใจและหลอดเลือด, ระบบทางเดินหายใจ, ระบบประสาท, ยาปฏิชีวนะ / ยาฆ่าเชื้อ, ระบบต่อมไร้ท่อ, ระบบสูตินรีเวช, มะเร็งและยากดภูมิคุ้มกัน, สารอาหารและผลิตภัณฑ์เกี่ยวกับเลือด, กระดูก กล้ามเนื้อ และข้อ, ตา, หู คอ จมูก และช่องปาก, ผิวหนัง, วัคซีนและภูมิคุ้มกัน, ยาดมสลบ, อื่นๆ ที่เป็นยา เท่านั้น
- ทะเบียนบัญชี — รองรับฟังก์ชันรายงานบัญชี ข.ย.๙, ข.ย.๑๐ และ ข.ย.๑๑ โดยระบุเป็นตัวเลข ได้แก่ 9, 10, 11 (สามารถใช้เครื่องหมายจุลภาค , คั่นได้)
- หน่วยการทาน — หรือหน่วยการใช้ เช่น หยด, เม็ด, TAB หรือ cc เป็นต้น
- การทาน — หรือวิธีการใช้ อาจระบุเป็นตัวเลขจำนวนครั้ง หรือระบุเป็นข้อความ เช่น “หยอดตาข้างละ 1 หยด” เป็นต้น
- จำนวนครั้งต่อวัน — ระบุเป็นตัวเลขจำนวนครั้งต่อวัน
- ทานยาทุก ๆ ชั่วโมง — ระบุเป็นตัวเลขจำนวนชั่วโมง เช่น 2 หรือ 4 เป็นต้น
- ก่อนอาหาร — หากยานั้นต้องใช้ก่อนอาหาร ให้ระบุเป็น 1 (หากไม่เกี่ยวข้องให้ปล่อยว่าง)
- หลังอาหาร — หากยานั้นต้องใช้หลังอาหาร ให้ระบุเป็น 1 (หากไม่เกี่ยวข้องให้ปล่อยว่าง)
- หลังอาหารทันที — หากต้องใช้หลังอาหารทันที ให้ระบุเป็น 1 (หากไม่เกี่ยวข้องให้ปล่อยว่าง)
- เช้า — ระบุเป็นตัวเลขจำนวนการใช้ช่วงเช้า เช่น 1
- กลางวัน — ระบุเป็นตัวเลขจำนวนการใช้ช่วงกลางวัน เช่น 1
- เย็น — ระบุเป็นตัวเลขจำนวนการใช้ช่วงเย็น เช่น 1
- ก่อนนอน — ระบุเป็นตัวเลขจำนวนการใช้ช่วงก่อนนอน เช่น 1
- สรรพคุณ — ไม่จำเป็นต้องระบุ
- คำแนะนำการใช้ — ไม่จำเป็นต้องระบุ
- หมายเหตุการขาย — ไม่จำเป็นต้องระบุ
- หมายเหตุการสั่งซื้อ — ไม่จำเป็นต้องระบุ
** คอลัมน์ (2) ชื่อสินค้า, (9) ราคาขาย, (10) หน่วยนับ และ (11) ขนาดบรรจุ เป็นข้อมูลที่ต้องระบุ ไม่สามารถปล่อยว่างได้
ตัวอย่างสินค้าที่มีหลายหน่วยนับ
หากร้านค้าต้องการเพิ่มสินค้าที่มีหลายหน่วยนับ เช่น สินค้า AAA ใน 1 ลังมี 12 กล่อง, ใน 1 กล่องมี 24 แผง และใน 1 แผงมี 8 เม็ด สามารถระบุข้อมูลในไฟล์ CSV ได้ดังนี้
- สินค้าAAA — 0.25 — เม็ด — 1
- สินค้าAAA — 2 — แผง — 8
- สินค้าAAA — 48 — กล่อง — 192
- สินค้าAAA — 576 — ลัง — 2,304
จากตัวอย่างข้างต้น จะระบุเฉพาะคอลัมน์ (2) ชื่อสินค้า — (9) ราคาขาย — (10) หน่วยนับ — (11) ขนาดบรรจุ ตามลำดับ โดยแถวแรกจะเริ่มจากหน่วยนับที่เล็กที่สุด คือ “เม็ด” โดยกำหนดราคาขาย 0.25 บาทต่อ 1 เม็ด (ขนาดบรรจุ = 1 เสมอ)
แถวที่สอง ชื่อสินค้าต้องเหมือนกับแถวแรกทุกตัวอักษร ราคาสินค้า 2 บาทต่อ 1 แผง (1 แผงมี 8 เม็ด ตกเม็ดละ 0.25 บาท ดังนั้น 0.25 × 8 = 2) และขนาดบรรจุเมื่อเทียบกับหน่วยนับที่เล็กที่สุดคือ 8 เม็ด
แถวที่สาม ชื่อสินค้าต้องเหมือนกับแถวแรกและแถวที่สองทุกตัวอักษร ราคาสินค้า 48 บาทต่อ 1 กล่อง (1 กล่องมี 24 แผง ตกแผงละ 2 บาท ดังนั้น 2 × 24 = 48 บาทต่อกล่อง) และขนาดบรรจุเมื่อเทียบกับหน่วยนับที่เล็กที่สุดคือ 24 × 8 = 192 เม็ด
แถวที่สี่ ชื่อสินค้าต้องเหมือนกับทุกแถวก่อนหน้า ราคาสินค้า 576 บาทต่อ 1 ลัง (1 ลังมี 12 กล่อง ตกกล่องละ 48 บาท ดังนั้น 48 × 12 = 576 บาทต่อลัง) และมีขนาดบรรจุเมื่อเทียบกับหน่วยนับที่เล็กที่สุดคือ 12 × 24 × 8 = 2,304 เม็ด
การบันทึกไฟล์ CSV และการตั้งค่า Encoding
เมื่อระบุรายการสินค้าทั้งหมดเรียบร้อยแล้ว ร้านค้าต้องดำเนินการ Export หรือ Save ไฟล์ให้อยู่ในรูปแบบ .CSV (ดังภาพตัวอย่างด้านล่าง) และสิ่งสำคัญคือการตั้งค่า Text Encoding โดยต้องเป็น UTF-8 (ขั้นตอนการตั้งค่าอาจแตกต่างกันในแต่ละโปรแกรม)
ขั้นตอนสุดท้าย: นำเข้าชุดสินค้าโดย CSV
ขั้นตอนสุดท้ายคือการกดปุ่ม “นำเข้าชุดสินค้าโดย CSV” ซึ่งปุ่มจะอยู่บริเวณด้านล่างของหน้าจอโปรแกรม จากนั้นเลือกไฟล์ CSV ที่ได้ Export หรือ Save มาจากขั้นตอนก่อนหน้า ระบบจะดำเนินการตรวจสอบและนำเข้าชุดสินค้าทั้งหมดเข้าสู่ระบบทีฟาร์ม
Importing Product Sets via CSV in tPHARM
tPHARM allows you to import multiple products at once (up to 2,000 items per import) using a CSV file (Comma-separated values). You can create CSV files using MS Excel, Google Sheets, Numbers, or other spreadsheet tools.
Accessing the Product Import Menu
To import products:
- Go to the Stock menu on the left-hand side.
- Select “Add / Import / Edit Product Set (Import)”.
Downloading the CSV Template
Click button (3) “Sample Data Template” to download a CSV template. This template shows the correct structure for product data. You can open and edit it in MS Excel, Google Sheets, or Numbers.
The column headers in the template are critical because tPHARM uses them to map each field correctly. Do not rename, remove, or reorder any columns. If you change any column header, the system will reject the file during import.
CSV Column Definitions
The main columns in the CSV template have the following meanings:
- ID — Used to reference an existing product when updating data. For new products, leave this field blank.
- Product Name ** — Required. Cannot be empty.
- Product Type — Must match one of the predefined system types, such as: Medicinal Products, Dietary Supplements, Beauty Products, Medical Devices, Other Devices, Food/Beverage, Cost/Advertising Items.
- Generic Name — Optional.
- Short Name — Optional.
- Product Status — Controls visibility on the POS screen. Must be either “Show in POS” or “Hide from POS”.
- VAT — VAT setting for the product. Must be one of: “No VAT”, “VAT 0%”, “VAT 7%”.
- Expiry Alert Days — Number of days before expiry when tPHARM should show alerts (e.g. 30, 60, 90, 180, 240). Use numeric values only.
- Selling Price ** — Required. Cannot be empty.
- Unit ** — Required. For example: box, piece, tablet, blister, bottle. Do not use special characters (e.g. !@#$%^&*).
- Pack Size ** — Numeric quantity per unit. The smallest base unit should normally have pack size = 1.
- Cost — Used for profit/loss calculations. Optional.
- SKU — Optional.
- Barcode — Optional, but recommended if you use barcode scanners at the point of sale.
- Stock on Hand — Initial stock quantity before importing. Useful when starting a new store.
- Volume — Numeric volume only. For example, if the label says 120 ml, enter 120.
- Volume Unit — For example: ml, L, cc, mg, g.
- Shelf Code — Used for price tag printing. Optional.
- Shelf Row — Also used for price tag printing. Optional.
- Product Category — Optional, but must match one of the system’s predefined categories such as: Household Medicine, Pre-packed Medicine, Dangerous Drugs, Special Control Drugs, Vitamins / Supplements / Medical Nutrition, Herbal / Traditional Medicine, Medical Supplies / Devices, Cosmetics / Skincare, Miscellaneous, External Use, Topical Use, Internal Use, Modern Medicine, Traditional Medicine, Injectable, Hazardous Substances. Custom categories must be created in the “Product Category” menu before importing.
- Therapeutic Category — Optional, and must match predefined values such as: Gastrointestinal System, Cardiovascular System, Respiratory System, Nervous System, Antibiotics / Antimicrobials, Endocrine System, Obstetrics & Gynaecology, Oncology / Immunosuppressants, Nutrition / Blood-related Products, Bone / Muscle / Joint, Eye, ENT / Oral Cavity, Skin, Vaccines & Immunization, Anaesthetics, Other Medicines.
- Regulatory Code — Used for regulatory reports (e.g. ข.ย.๙, ข.ย.๑๐, ข.ย.๑๑). Enter numeric values such as 9, 10, 11 (comma-separated values are allowed).
- Dose Unit — Unit of administration, e.g. drop, tablet, TAB, cc.
- Dose Instruction — How to use/administer, either as a number or a short instruction text (e.g. “1 drop in each eye”).
- Doses per Day — Number of doses per day (numeric).
- Every X Hours — Interval in hours, e.g. 2 or 4.
- Before Meals — Enter 1 if the medicine should be taken before meals; leave blank otherwise.
- After Meals — Enter 1 if it should be taken after meals; leave blank otherwise.
- Immediately After Meals — Enter 1 if it should be taken immediately after meals; leave blank otherwise.
- Morning Dose — Number of units taken in the morning.
- Noon Dose — Number of units taken at noon.
- Evening Dose — Number of units taken in the evening.
- Bedtime Dose — Number of units taken at bedtime.
- Indication — Optional.
- Usage Advice — Optional.
- Sales Note — Optional.
- Purchase Note — Optional.
** Required fields: (2) Product Name, (9) Selling Price, (10) Unit, and (11) Pack Size. These fields cannot be left blank.
Example: Product with Multiple Units
If you have a product with multiple units, for example Product AAA where 1 carton contains 12 boxes, 1 box contains 24 blisters, and 1 blister contains 8 tablets, you can define it in the CSV as follows (showing only columns 2, 9, 10, and 11):
- ProductAAA — 0.25 — Tablet — 1
- ProductAAA — 2 — Blister — 8
- ProductAAA — 48 — Box — 192
- ProductAAA — 576 — Carton — 2,304
The first row defines the smallest unit (Tablet) with a selling price of 0.25 per tablet and pack size = 1.
The second row defines the Blister unit with a price of 2 per blister. Each blister contains 8 tablets (0.25 × 8 = 2), so the pack size is 8 relative to the base unit (tablet).
The third row defines the Box unit with a price of 48 per box. Each box contains 24 blisters (2 × 24 = 48), and the pack size is 24 × 8 = 192 tablets.
The fourth row defines the Carton unit with a price of 576 per carton. Each carton contains 12 boxes (48 × 12 = 576), and the pack size is 12 × 24 × 8 = 2,304 tablets.
Saving the CSV File (UTF-8 Encoding)
After you finish entering all product data, export or save the file in .CSV format. It is important to ensure that the file is saved with UTF-8 encoding so that Thai characters and special symbols display correctly in tPHARM. The exact steps to set UTF-8 encoding may differ depending on whether you use Excel, Google Sheets, or Numbers.
Final Step: Importing the CSV File into tPHARM
Finally, go back to the “Import Product Set via CSV” section at the bottom of the screen, click the button, and select the CSV file you exported. tPHARM will validate the data and import all products into the system according to your CSV file.
