If you’ve ever tried to wrangle sales commission data from a dozen sources, you know the pain: endless spreadsheets, manual updates, and that creeping feeling something’s off. If you’re using Spiff to automate commissions but your data doesn’t flow cleanly, you’re not alone. This guide is for admins, ops folks, and anyone tasked with actually making commission tracking work—not just buying flashy software.
Here’s how to build custom data imports in Spiff so you can finally trust your commission numbers—and spend less time cleaning up messes.
Step 1: Get Clear on What Data You Really Need
Before you touch Spiff, nail down what data actually drives commissions in your org. Don’t just bring in everything “just in case”—more data means more headaches.
Questions to ask yourself: - Where does the source-of-truth live? (CRM, ERP, billing platform, etc.) - What fields do you actually use for calculations? (Deal amount, close date, product, rep, etc.) - How often does this data change—and who owns it?
Pro tip: If your sales reps are manually updating spreadsheets, expect errors. Try to connect to a system that’s as close to the original data as possible.
Step 2: Understand Spiff’s Data Import Options
Spiff lets you import data a few ways, each with pros and cons.
- Native integrations: If you use Salesforce, HubSpot, or NetSuite, Spiff can pull data directly. This is easiest—but watch for field mismatches and API hiccups.
- CSV uploads: Good for one-off imports or if you’re stuck with spreadsheets. Manual but flexible.
- Custom connectors/API: If you’re technical (or have IT help), you can push data in from almost anywhere using Spiff’s API.
What works: Native integrations are smoothest if your data structure matches Spiff’s expectations.
What doesn’t: If your source data constantly changes or has custom fields, expect to do some mapping and cleaning. Don’t blindly trust that “integration” means “hands-off.”
Step 3: Prep Your Data Before Importing
This is the step most people rush—and regret later. Clean, consistent data is what makes Spiff useful.
Checklist:
- Column names: Match these to what Spiff expects (usually snake_case, e.g., deal_amount
not Deal Amount
).
- Data types: Numbers are numbers, dates are dates. Spiff will choke on “01/07/24” if it expects “2024-01-07.”
- Unique IDs: Every record needs a unique identifier (deal ID, invoice number, etc.). No duplicates.
- No blanks: Missing data = missing commissions. Fill in what you can, or set clear defaults.
Skip the fancy formulas at this stage—just keep it clean and simple.
Step 4: Set Up Your Data Import in Spiff
Let’s walk through the main methods:
Option A: Native Integration (e.g., Salesforce)
- In Spiff, go to Settings > Data Sources.
- Click Connect next to your system.
- Authorize Spiff to access your data (OAuth or API key).
- Map fields: Match your CRM fields to Spiff’s fields (e.g.,
Amount
→deal_amount
). - Test the sync on a small batch. Double-check what lands in Spiff.
Gotchas: - Custom fields in your CRM won’t always map cleanly. You may need to create new fields in Spiff. - API quotas can block large syncs. If you hit limits, schedule smaller updates.
Option B: CSV Upload
- In Spiff, go to Data > Uploads.
- Download the CSV template if available—this shows you the required fields.
- Paste in your data, following the template’s format.
- Upload the file. Spiff will preview your data and flag issues.
- Fix any errors, then confirm the import.
What to watch for: - Commas in your data can break CSVs. Use quotes or clean them out. - Date formats trip people up. Stick to ISO (YYYY-MM-DD) when in doubt.
Option C: Custom API Integration
- Generate an API key in Spiff (usually under Settings > API).
- Use Spiff’s API docs to format your POST requests.
- Build a script (Python, Zapier, etc.) to send data automatically.
- Monitor for failures—bad data will get rejected.
Don’t overcomplicate this. Only go API if you need near real-time syncs or have highly custom data.
Step 5: Map and Validate Your Data in Spiff
After you’ve loaded your data, don’t just assume it’s right.
- Use Spiff’s data viewer to spot-check a handful of records.
- Make sure amounts, dates, and rep names look correct.
- Run a test calculation: Do commissions look roughly right for a few reps?
Common mistakes: - Duplicate deals (usually from bad IDs) - Reps not matching (e.g., “Jon Smith” vs. “Jonathan Smith”) - Transactions missing key fields (like product or region)
Fix these now—otherwise you’re stuck reconciling payouts later.
Step 6: Automate Regular Imports (If Needed)
If you’re serious about keeping commission data fresh, automate the import.
- With integrations: Set a sync schedule (daily, hourly, etc.) inside Spiff.
- With CSVs: Build a process for someone to export and upload on a regular basis. Not glamorous, but it works.
- With API: Set your script on a cron job or use a cloud function to push data regularly.
Tip: Don’t automate until your import works manually at least twice. Automation just makes bad data show up faster.
Step 7: Monitor, Adjust, and Document
Custom imports aren’t “set and forget.” Plan to revisit things monthly, especially after any system changes.
- Keep a simple checklist or wiki page: “Here’s how we import, here’s what to check.”
- Monitor for failed imports or mismatched records.
- Get feedback from reps or finance—are people actually getting paid what you expect?
If things break, revert to manual uploads while you debug. Don’t let a failed sync delay commission runs.
What to Ignore (Most of the Time)
- Don’t try to import every possible field. Only what’s needed for your rules.
- Ignore “advanced” transformations in Spiff unless you have a real use case.
- Avoid real-time syncs unless your data changes hourly (almost nobody needs this).
- Don’t believe sales demos that make it look 100% plug-and-play. There’s always some mapping and cleanup.
Wrapping Up: Keep It Simple, Fix It Fast
Custom data imports in Spiff are powerful, but only if you keep things simple. Start with clean data, test imports in small batches, and automate after you know it works. Don’t overthink the “perfect” setup—get something working, then iterate.
Commission tracking is never totally fire-and-forget, but with a solid import process, you’ll spend less time chasing errors and more time actually running the business. If something’s not working, strip it back, fix the basics, and try again. That’s a lot better than trusting a black box—or fighting with another spreadsheet.