Skip to main content
Invoice sync records your Flexprice invoices in Attio, so anyone working a company or deal can see what was billed and what is still owed. Flexprice creates a Flexprice Invoices object in your Attio workspace, adds a record for each finalized invoice, and links it to the customer’s company, billing contact, and deal. When the invoice is paid or voided in Flexprice, the record in Attio follows. Turn invoice sync on with the Invoices toggle on the Attio connection, or with sync_config.invoice.outbound in the API.

When Attio invoice sync runs

Flexprice syncs an invoice when all of these are true:
  1. The Invoices toggle is on for the Attio connection.
  2. The invoice’s customer is linked to an Attio company or person. Customer sync creates this link, both for customers it creates and for existing customers it matches by email.
  3. The invoice is finalized. Draft invoices are not synced.
Flexprice writes every record through Attio’s upsert endpoint, matching on Flexprice invoice ID, so a retried sync updates the existing record instead of creating a duplicate. A sync that fails is retried up to three times, and finalizing or paying an invoice in Flexprice never waits for Attio.
Flexprice Invoices table in Attio with two invoices for Northwind Labs, INV-0051 with status Open and INV-0042 with status Paid, each linked to the company and the deal

The Flexprice Invoices object

The first time invoice sync runs, Flexprice creates this custom object in your Attio workspace, which is why the token needs Object Configuration at Read-write:
The Flexprice Invoices object counts toward your Attio plan’s object limit. If your plan has no free object slot, Flexprice cannot create the object, and invoice sync fails until you free a slot or change plans.

Flexprice Invoices attributes

Amounts are Number attributes next to a separate Currency attribute. Attio’s currency attributes hold one currency for every record, and your invoices can be in several currencies.
Attribute values of invoice INV-0042 in Attio: the Flexprice invoice ID, company, billing contact, deal, Paid status, total, amount paid, amount remaining, currency, due date, and billing period
To see a company’s invoices in Attio, open the Flexprice Invoices object and filter on Company, or add a view grouped by Status to track open invoices.

Retrying an Attio invoice sync

To sync an invoice again, for example after you fix a missing scope or link its customer to Attio, call the integration sync endpoint with the invoice ID:
The endpoint sends the invoice to every connected provider that has invoice sync turned on. If the record already exists in Attio, Flexprice updates it with the invoice’s current amounts and status.

What Attio invoice sync leaves unchanged

  • Edits made in Attio. Flexprice does not read records back. A status changed by hand in Attio is not applied in Flexprice, and the next update overwrites the synced attributes.
  • Line items. The record holds the invoice totals. Open Invoice PDF for the line-by-line breakdown.
  • Payments collected outside Flexprice. Record the payment in Flexprice, and the Attio record follows.
  • Customers without an Attio link. Their invoices are not recorded in Attio.

Troubleshooting Attio invoice sync