All integrations
Primer
+
Bruin

Primer + Bruin

Source

Ingest Primer data into your warehouse with incremental loading, quality checks, and full lineage. Defined in YAML, version-controlled in Git.

For business teams

What you get

  • Revenue reporting you can audit

    Primer transaction data flows into your warehouse with quality checks that validate amounts, currencies, and reconciliation — every single sync.

  • MRR/ARR calculated right

    Combine Primer with subscription data to automate MRR, ARR, and churn calculations. Finance gets numbers, not guesswork.

  • Catch issues before close

    Quality checks flag missing transactions, amount mismatches, and anomalies. Finance finds out from Bruin, not from the CFO.

  • Unified financial view

    Join Primer with your ERP, CRM, and other financial tools. One source of truth for revenue, not five spreadsheets.

For data & engineering teams

How it works

  • Idempotent incremental loads

    Re-runs are safe. Bruin's merge strategy ensures Primer transactions are never duplicated, even on retry.

  • YAML-defined, Git-versioned

    Your Primer pipeline is a YAML file. Review in PRs, deploy with CI/CD, roll back with git revert. Auditors love this.

  • Reconciliation checks

    Custom SQL checks validate that amounts balance and currencies match. Pipeline stops if something doesn't add up.

  • Multi-destination support

    Land Primer data in BigQuery, Snowflake, Redshift, or DuckDB. Switch destinations by changing one line.

Before you start

Primer account
API key from Primer Dashboard

Step 1

Add your Primer connection

Connect using Primer API key authentication. Add this to your Bruin environment file — credentials are stored securely and referenced by name in your pipeline YAML.

Parameters

  • api_keyAPI key from the Primer Dashboard
connections:
  primer:
    type: primer
    uri: "primer://?api_key=<your-api-key>"

Step 2

Create your pipeline

Define a YAML asset that tells Bruin what to pull from Primer and where to land it. This file lives in your Git repo — reviewable, version-controlled, and deployable with CI/CD.

Available tables

payments
name: raw.primer_payments
type: ingestr

parameters:
  source_connection: primer
  source_table: 'payments'
  destination: bigquery

Step 3

Add quality checks

Add column-level and custom SQL checks to your Primer data. If a check fails, the pipeline stops — bad data never reaches downstream models or dashboards.

Validate that credits and debits balance
Catch null amounts and missing currencies
Ensure transaction IDs are unique — no duplicates
columns:
  - name: transaction_id
    checks:
      - name: not_null
      - name: unique
  - name: amount
    checks:
      - name: not_null
  - name: currency
    checks:
      - name: not_null

custom_checks:
  - name: amounts balance
    query: |
      SELECT ABS(SUM(credit) - SUM(debit)) < 0.01
      FROM raw.primer_payments

Step 4

Run it

One command. Bruin connects to Primer, pulls data incrementally, runs your quality checks, and lands clean data in your warehouse. If a check fails, the pipeline stops — bad data never reaches downstream.

Backfill historical data with --start-date
Schedule with cron or trigger from CI/CD
Full lineage from Primer to your dashboards
$ bruin run .
Running pipeline...

  primer_payments
    ✓ Fetched 2,847 new records
    ✓ Quality: campaign_id not_null     PASSED
    ✓ Quality: spend not_null           PASSED
    ✓ Quality: no negative ad spend     PASSED
    ✓ Loaded into bigquery

  Completed in 12s

Other Payments & Finance integrations

Ready to connect Primer?

Start for free, or book a demo to see how Bruin handles ingestion, quality, lineage, and scheduling for your entire data stack.