Addons

Data Export & Import

On this page

Take any list out of the panel as a CSV file for Excel or as a JSON file, and bring data back in: a dealer list from your old software, a new batch of serial numbers, product prices corrected in a spreadsheet. Import is careful by design. You match the columns yourself, choose what happens to rows that already exist, and try it first as a dry run that changes nothing.

Switching it on

Data Export & Import is free and is switched on when the script is installed. If somebody switched it off, open Admin → Addons (in the System group of the sidebar), find Data Export & Import Addons and press Enable.

The screen is Admin → Export / Import, in the Addons group of the sidebar. The role needs Change system settings.

Exporting

The Export card lists everything that can leave, each with the number of rows it holds now: Brands, Products, Serial numbers, Free products, Dealers, Users, Invoices, Invoice lines, Warranty cards, Warranty claims, Price lists, Support tickets and Settings. More appear when their addon is on: Coupons with Discounts & Coupons, Ledger with Accounts Management, Dealer customers and Retail sales with Dealer Customers.

  1. Tick what you want, or press Select everything.
  2. File type: CSV (Excel) or JSON. JSON keeps every field exactly.
  3. Created from and Created up to limit the rows by the date they were created. Leave both empty for everything, and always for Settings, which has no dates.
  4. Press 📥 Download.

One list gives one file, for example dms-dealers-20261014-103015.csv. Tick more than one and you get a single JSON file holding all of them. The CSV starts with a marker that makes Excel show Bangla names correctly.

Passwords never leave: the Users export drops the password and the sign-in tokens. Deleted products, free products, dealers, users, invoices, dealer customers and retail sales are left out unless Include deleted rows in exports is on.

Importing

Before you start, take a backup (with Backup & Restore on, the Take a backup now button on this screen opens it), and export the same list first: that file has exactly the right columns to edit and send back.

  1. In the Import card choose What the file holds, pick The file (.csv, .json or .txt) and press 📤 Look at the file.
  2. Match the columns. Each column of your file is listed with a Goes into box and what its first row looks like. A column whose heading matches a field name (phone, serial_no, dealer price…) is matched already. Anything left at — ignore — is not imported. An id column is always ignored: rows are matched on their own key, not on this database's numbers.
  3. When a row already exists: Update it with the file's values, Leave it alone, or Add another one anyway.
  4. Keep Dry run — tell me what would happen, change nothing ticked and press Run the import.
  5. Read the result: Would add, Would update, Skipped, and What went wrong with row numbers (row 2 is the first row under the headings, as in Excel).
  6. Happy with it? Run it again with the dry run unticked. The file is kept between the steps, so you do not upload it twice.

How a row is recognised:

ListMatched on
Brands, Free productsname
Productssku
Serial numbersserial_no
Dealerscode
Usersemail
Invoices, Retail salesinvoice_no
Warranty cardscard_no
Warranty claimsclaim_no
Support ticketsticket_no
Couponscode
Settingsk
Invoice lines, Price lists, Ledger, Dealer customersuuid

A row with nothing in its key column is skipped and listed under What went wrong.

Import in order, because a record can only point at one that already exists: brands, then products, then serial numbers; dealers before invoices.

A JSON file can be a plain list of rows, or a file this screen exported for a single list. The combined file you get by exporting several lists at once does not import back, so export one list at a time when you mean to import it again.

The addon's settings

Admin → Addons → Data Export & Import Addons → Settings:

  • Allow importing (not only exporting) (on). Off hides the Import card, which suits a live site where only exports should be possible.
  • Rows per batch (500). This version reads the whole file in one pass; if a big import times out on a small shared host, split the file into smaller ones.
  • Include deleted rows in exports (off).

Tips

  • In Excel, save as CSV UTF-8 (Comma delimited) so Bangla text survives the round trip.
  • A bulk price change: export Products, change the price columns, import with Update it with the file's values, dry run first.
  • Every export and every real import is written to Admin → Activity Logs.
Chat with Faruk
Faruk's Assistant Online — AI Powered