Skip to main content

Importing and Exporting Incentive Templates

Programs can now maintain incentive templates without having to edit them individually

Managing a long list of incentive templates one at a time can be slow. Snugg Pro lets you export all of a program's published incentive templates to a CSV, make your edits there, and import them back in.

This guide walks you through both, plus the one rule that trips people up most often.

Before you start: incentive sources are not included

Importing incentives never creates incentive sources.

Your CSV file has an Incentive Source Name column, but that column is only used to look up a source that already exists in your program. It does not create one, and no other incentive source details (description, contact info, and so on) travel in the file.

So, before you import, make sure every incentive source named in your file already exists in the program, spelled exactly the same way. If Snugg Pro can't find a match, the entire import is rejected with a message like: Incentive Source 'Utility Rebate Program' was not found in this program.

If you need a new source, add it first with the Add incentive source button on the Incentives page, then run your import.


Where to find it

Go to Settings → Program → Incentives.

You'll see Export to CSV and an import button at the top of the Incentive Templates page. These are only available to program admins and Snugg admins.


Exporting incentives

  1. Click Export to CSV.

  2. Your file downloads as program_[your program id]_incentive_templates.csv.

A few things to know:

  • Only published incentives are exported. Unpublished drafts are not included.

  • Incentive Source Name is the only source information included, and it repeats on every row that uses that source. That's expected.

  • The exported file is ready to re-import. You can export, edit, and import the same file without reformatting anything.

The "Missing Incentive IDs" prompt

If any of your published incentives don't have an Incentive ID yet, you'll see this before the download starts:

Missing Incentive IDs Some incentive templates do not have an Incentive ID. Incentive IDs are required to re-import incentives and ensure existing records are updated correctly instead of creating duplicates.

You have two choices:

Button

What happens

Export Without IDs

Downloads the file with those Incentive ID cells left blank. You'll need to fill them in yourself before the file can be imported.

Generate IDs

Snugg Pro creates a unique ID for each one automatically (based on the incentive title), saves it to the incentive, and includes it in the download.

Generate IDs is the easier path if you plan to re-import. Incentives that already have an ID keep the ID they have — nothing is overwritten.


Importing incentives

  1. Click the import button on the Incentives page and choose your .csv file.

  2. Snugg Pro checks the whole file before changing anything.

  3. If everything passes, you'll see an Import complete message telling you how many incentives were imported (newly created) and how many were updated.

How Snugg Pro decides to add vs. update

Matching is done on the Incentive ID within its incentive source:

  • Match found → that incentive is updated with the values in your row.

  • No match → a new incentive is created.

This is why Incentive IDs matter so much. Change or clear an ID and you'll get a duplicate instead of an update. The same applies if you move a row to a different Incentive Source Name — that counts as a new incentive.

Imports are all-or-nothing

If any row fails any check, nothing is imported and no existing incentives are changed. You'll get a Fix these errors window listing every problem, with the row number and Incentive ID so you can find it fast:

The file was not imported. No incentives were changed. Please fix the following and try again: Row 2: Incentive ID is required. Row 16: Maximum Amount per Incentive must be a positive number.

Fix the listed items in your spreadsheet and import again. There's no risk of a half-finished import.

Column reference

Column headers must match exactly. Any column Snugg Pro doesn't recognize is simply ignored, so you can keep your own notes columns in the file if that's helpful.

Required columns

Column

Accepted values

Incentive Source Name

Must already exist in the program (see above)

Incentive ID

Up to 100 characters, unique within the file

Title

Up to 200 characters, unique within its incentive source

Incentive Type

Instant Rebate, Post Purchase, or Tax Credit

Beneficiary

Homeowner, Multifamily Building Owner, Contractor, Other, or Any

Household Income

Any, Less than 80% AMI, Between 80% and 150% AMI, 80% AMI and Greater, Greater than 150% AMI, LMI, or LMI 80 - 120

Valid From

YYYY-MM-DD or MM/DD/YYYY. Must be within the last 10 years

Valid Until

YYYY-MM-DD or MM/DD/YYYY. Must be later than Valid From

Allow incentive amount to exceed calculated maximum amount

1, yes, or true for yes; anything else is treated as no

Limit per Household

A positive number. If greater than 1, it must be a whole number from 2 to 99

Optional columns

Column

Accepted values

Status

Draft or Published. Left blank, the incentive is saved as a draft

Description

Free text

Eligible Measures

Measure IDs separated by commas, for example 9,25,26. Blank or All means all measures

Minimum Total Energy Savings

A number from 0 to 100

Fixed Amount

See below

Maximum Amount per Incentive

See below

Up To

See below

Amount Relative To Job Data

See below

Files To Upload

Must be valid JSON

Setting the incentive amount

Every row needs exactly one way of calculating its amount. Pick one of these three and leave the other columns blank:

1. A flat amount — fill in Fixed Amount with a positive number. Leave Maximum Amount per Incentive, Up To, and Amount Relative To Job Data empty.

2. A percentage of costs — fill in Maximum Amount per Incentive (a positive number) and Up To (a number from 1 to 100, representing a percentage).

3. An amount based on job data — fill in Amount Relative To Job Data with a JSON rule, for example:

[{"amount": 300, "per": 10000}]

Both amount and per must be positive numbers. You may also add Up To, but not Maximum Amount per Incentive.

Mixing methods causes an error, such as:

Fixed Amount cannot be used together with Maximum Amount per Incentive. Amount Relative To Job Data cannot be used together with Maximum Amount per Incentive.

A safe way to work

If you're editing incentives in bulk for the first time, this order keeps things predictable:

  1. Add any new incentive sources in Snugg Pro first.

  2. Export to CSV, choosing Generate IDs if you're prompted.

  3. Edit the file in your spreadsheet program, leaving the Incentive ID column alone.

  4. Import the file and confirm the imported and updated counts look right.


Common questions

My drafts didn't export. Why? Only published incentives are included in the export. Publish anything you want in the file first.

Can I use the export file to create incentive sources in another program? No. Incentive source records are never created by an import. Add the sources to the destination program by hand first, then import the incentives.

I imported the same file twice. Did I create duplicates? No, as long as your Incentive IDs stayed the same. The second import matches the existing records and updates them.

One row is bad. Can I import the rest? Not in a single pass — imports are all-or-nothing by design, so you never end up with a partial update. Fix the errors listed in the message and import again.

Nothing happened when I clicked import. Check that the file is a .CSV and that all required column headers are present and spelled exactly as listed above. A missing header produces an error like "The required column 'Title' is missing."

Did this answer your question?