Skip to main content
QCSQuick Courier ServiceQCS — Quick Courier Service, home

Merchant handbook

Importing a CSV or Excel file

Upload a day of orders in one file: the column map, the validation pass, the error report and the commit.

Merchants booking in batches6 min readPrintable handbook

Import lives at /m/orders/import. Upload a CSV or XLSX export from your shop, map its columns once, read the validation report, then commit. A file carries up to 500 parcels and up to 80 source columns.

The four stages

  1. 01UploadDrop the file. QCS reads the header row, keeps the file against the batch for audit and shows you what it found. CSV and XLSX are both accepted, up to 20 MB.
  2. 02Map the columnsQCS matches your headers to its own by name and by a long list of aliases, so a Shopify or WooCommerce export usually maps itself. Correct anything it guessed wrong. The map is remembered for your next import.
  3. 03ValidateEvery row is validated, priced and zone-checked without booking anything. You get a count of accepted rows, a count of rejected rows and a downloadable error report with the row number and the reason.
  4. 04CommitOnly the accepted rows are booked, each with its own tracking number and its own frozen charge. Rejected rows are never partially booked. Fix them in your file and import again.

The template

Download the template from the import screen. It carries the exact headers below and three filled example rows, one standard prepaid, one express with dimensions, one with coordinates.

Import columns
ColumnRequiredWhat it must contain
Consignee nameRequiredThe person who receives the parcel.
Mobile numberRequiredPakistani mobile, such as 03001234567. This is the number the WhatsApp updates go to.
Second numberOptionalA backup number the rider may call.
EmailOptionalUsed only for the email copy of a delivery notice.
Delivery addressRequiredHouse or shop number, street and area. At least 10 characters.
Area or sectorOptionalGulberg 3, DHA Phase 5, Johar Town and so on. It sharpens the geocode.
LandmarkOptionalA nearby shop, mosque or junction the rider will recognise.
CityRequiredLahore. QCS delivers into Lahore City and the Lahore Extended Area today.
LatitudeOptionalOptional. Give latitude and longitude together to skip the address lookup.
LongitudeOptionalOptional. Give latitude and longitude together to skip the address lookup.
PiecesOptionalWhole number between 1 and 50. Left blank it is 1.
Weight in kgRequiredUp to three decimal places. QCS charges the greater of actual and dimensional weight, rounded up to the next 0.5 kg.
Length in cmOptionalGive length, width and height together or leave all three blank.
Width in cmOptionalGive length, width and height together or leave all three blank.
Height in cmOptionalGive length, width and height together or leave all three blank.
What is insideOptionalA short description, such as two kurtas or one pair of shoes.
Declared value in PKROptionalWhat the goods are worth. Left blank it is 0.
ServiceOptionalStandard or Express. Left blank it is Standard. Express pickup closes at 13:00.
Cash to collect in PKRRequiredEnter 0 for a prepaid parcel. An exchange parcel must be 0.
FragileOptionalyes or no.
Customer may openOptionalyes or no. Say yes only if the customer may open the parcel before paying.
ExchangeOptionalyes or no. An exchange parcel carries no cash on delivery.
Instructions for the riderOptionalUp to 500 characters.
Your order numberOptionalYour own reference. QCS rejects a row that repeats a reference you have already used.

How values are read

  • Weight is kilograms with up to three decimals. 1.25 means 1.25 kg.
  • Dimensions are centimetres, and all three must be present or all three blank.
  • Money columns are whole rupees. Write 3500, not PKR 3,500 and not 3500.00.
  • Yes or no columns accept yes, no, true, false, 1 and 0.
  • Service accepts Standard or Express, in any letter case.
  • Express rows are rejected after 13:00, because the parcel cannot be collected and delivered the same day.
  • Your own order number is optional, but if you supply one it must be unique on your account. That is what makes a repeated import safe.

Every rejection reason

Import error codes
CodeMeaningWhat to do
QCS_IMPORT_FIELD_INVALIDField rejectedOne cell failed validation. The row report names the column and the reason.
QCS_IMPORT_CITY_UNKNOWNCity not recognisedThe city text did not match a QCS city. Write Lahore.
QCS_IMPORT_CITY_CLOSEDCity not servedThe city exists but is not accepting parcels today.
QCS_IMPORT_ZONE_MISSAddress outside a QCS service areaThe address did not land inside a served zone. Add the area or a landmark and retry the row.
QCS_IMPORT_SERVICE_UNKNOWNService not recognisedThe service cell was neither Standard nor Express.
QCS_IMPORT_EXPRESS_CUTOFF_PASSEDExpress cut-off has passedExpress was asked for after the cut-off. Change the row to Standard or import it tomorrow morning.
QCS_IMPORT_BOOLEAN_UNREADABLEYes or no expectedA yes or no column held something else. Write yes or no.
QCS_IMPORT_DUPLICATE_IN_FILERepeated inside this fileTwo rows in the same file carry the same order number.
QCS_IMPORT_DUPLICATE_ON_RECORDAlready booked under that referenceThat order number is already booked on your account. Nothing is booked twice.
QCS_IMPORT_NOT_PRICEABLENo tariff covers this parcelNo tariff row covers that weight and service combination. Contact support with the row.
QCS_IMPORT_ROW_EMPTYBlank rowEvery cell on the row is blank. Blank rows are skipped, not booked.
QCS_IMPORT_COMMIT_FAILEDRejected while bookingThe row passed validation but was refused while booking. The reason is on the row.

Re-importing without duplicating

Keep your own order number in the file. QCS refuses a row whose order number is already booked on your account, so re-uploading yesterday’s file after fixing three rows books only those three.

Questions we get asked

My file has one row per item, not one row per parcel.Group it before importing. QCS books one parcel per row, so two items shipping together must be one row with a pieces count of two.
Can I import drafts instead of booked parcels?Yes. The import screen offers a commit mode. Draft keeps the rows editable and uncharged; book allocates tracking numbers immediately.
The error report says the address is outside a service area, but I deliver there every week.The address text did not resolve to a pin inside a served zone. Add the area and a landmark, or supply latitude and longitude in the file. If it still misses, send the address to support and we will review the zone shape.

Next