How to import packages

If you need to set up your store from scratch quickly or add a new category for a new part of your server you can create the basic packages via CSV import. You can find this option at the top of your Packages page:

You can find both our template sheets attached to this article below. The "minimalimportbc.csv" includes only the required fields for creating packages and the "fullimportbc.csv" includes all available fields. 

For the full list of options that you can use on your import, click to download: fullimportbc.csv

For a template of only the required fields click here: minimalimportbc.csv  

CSV layout

The sheets need to be in the ".csv" format where fields are separated by commas and fields are quoted by double quotes (“). They can be edited/created by any spreadsheet program, e.g. Excel, Google Sheets, Open Office.

The following are the full list of columns which you can use in the upload, the required columns are be marked with a "*" and must be included. Fro all fields which are either 1 or 0, "1" will mean that the feature is enabled and "0" will be disabled.

  • id - The package ID*
  • category_id - The ID of the category to add the package*
  • order - The position in the category to show this package*
  • server_ids - Comma separated list of server IDs to add the package to*
  • name - The name of the package*
  • description - The package description*
  • price - The package price*
  • image_url - A remote URL of the package image (see ‘importing images’ section below). Defaults to an empty string
  • variable_identifiers - A comma separated list of variable identifiers to require for this package. Defaults to an empty string
  • community_goal_id - The ID of a community goal that this package should contribute to. Default: 0
  • choose_server - Require the user to select which server the package is being purchased for. Values: 1 or 0. Default: 0
  • inherit_commands - Inherit commands from lower priced packages in the category. Values: 1 or 0. Default: 0
  • disable_quantity - Do not allow the user to change the package quantity. Values: 1 or 0. Default: 0
  • create_giftcard - Create a  giftcard  of the given value when this package is purchased.  Value  must be numeric. Default: 0. Giftcards are an enterprise only feature - for other plans, this value will always be 0.
  • variable_giftcard - Create a  giftcard  that matches the price paid for the package. When this is 1, create_giftcard is still required but represents the maximum value that can be paid. Values: 1 or 0. Default: 0
  • disable_gifting - Do not allow this package to be  gifted,  if gifting is enabled on your store. Values: 1 or 0. Default: 0
  • custom_price - Allow the user to select their own price to pay for this package. Values: 1 or 0. Default: 0
  • disabled - Disable the package and remove it from the webstore. Values: 1 or 0

In the sheet, the first row should be the headers including the required columns, however, they can be in any order. You can then add the optional fields, though if you do add an optional field you will need to fill it out on every package you have in your sheet.  

To create a new package you will need to enter an ID of "0", but if you would like to update a package you can enter the package's ID and this will override the current package's settings.


After each package, there can be 0 or more ‘command’ lines. These sit on subsequent lines in the CSV, consisting of three fields:

  • Column 1: Command Type - one of initial, refund or chargeback
  • Column 2: Command - a string consisting the command to run on the server, including any placeholders as usual.
  • Column 3: Command Options - a comma separated list of options. Each option consists of a key and a value, split by a colon - e.g. delay:60,require_inventory:2. 

Allowed options:

  • delay: A delay (in seconds) to wait before the given command is sent to the server. Default: 0
  • require_online: Require the user to be online for this command to be executed. Values: 1 or 0. Default: 0
  • require_slots: Require a certain number of inventory slots to be free. Must be a number between 0 and 36. Default: 0
  • repeat: repeat this command a certain number of times (see below). Values: 1 or 0. Default: 0
  • repeat_period: If repeat = 1, the number of hours to wait between repeats. Default: 0
  • repeat_cycle: If repeat = 1, the number of times to repeat the command. Default: 0


  • If you edit an existing package, commands currently attached to the package must be provided in the CSV, otherwise, they will be removed
  • Make sure that you format your entire sheet as text to avoid any formatting issues.
  • Subscription packages are not supported in the CSV import - these will need to be added to Buycraft using the web interface

Importing Images

If you have images stored on a remote server, you can provide a web URL to the image in the "image_url" field. Buycraft will then attempt to download and scale the image as it would with a standard image upload to add to the package. Because the image is downloaded to Buycraft, changes to the remote image will not be reflected on Buycraft unless the package is re-imported.

Dry Run mode

Dry Run mode will go through the import process but without making any changes to your data. This allows you to ‘test’ importing a CSV and displays any error messages which might occur without running the risk of changing data and causing errors. If all is well with the import it will go through to the complete page and you can upload without using the testing mode.

Still need help? Contact Us Contact Us