The Setup Manual

The guide.

From a fresh Attio workspace to QuickBooks invoices that create, send, and chase themselves. Set up once, top to bottom — then come back to the part you need.

Contents · 22 sections

Part A

Set up

Ten steps, about ten minutes. Do them in order — each one depends on the one before.

01

Create your AttiBooks account

attibooks.com1 min

The account carries your plan, your monthly invoice quota, and your automation history. Your QuickBooks credentials never go through it.

  1. 1

    Go to attibooks.com/get-started and sign up.

  2. 2

    Open the verification email and confirm your address.

Done when: You can sign in at attibooks.com/login and see the setup checklist.

02

Install the app in Attio

Attio → Settings → Apps1 min
  1. 1

    In Attio, open Settings → Apps, search for AttiBooks, and install it. Or click Install AttiBooks to go straight to the authorized listing.

  2. 2

    Approve the permissions. You need to be a workspace admin.

Done when: AttiBooks appears in Attio’s left sidebar.

04

Connect QuickBooks

AttiBooks → header, then Settings §1 and §72 min
  1. 1

    Open AttiBooks in the Attio sidebar and press Connect QuickBooks in the header. Sign in to QuickBooks Online and authorize.

  2. 2

    Find your Company ID in QuickBooks: gear icon → Additional info (a ~16-digit number).

  3. 3

    In settings, scroll to 7. Advanced and paste it into QBO Company ID (required).

  4. 4

    Go back to 1. QuickBooks Connection and press Check Status.

Done when: A green toast reads Connected to QuickBooks (Company: …).

Sandbox or production? Detected automatically from the token. Leave Environment blank unless you want to pin it to sandbox or production. Re-authorize after switching QuickBooks companies.

05

Pick your target objects

Settings §7 Advanced → Target Objects30 sec

Tell AttiBooks which Attio objects you invoice from. This fills the attribute dropdowns in the next steps with the right fields.

  1. 1

    In 7. Advanced, set Target Objects to the object slugs, comma-separated — e.g. companies or companies,deals.

The Create QuickBooks Invoice action works on any record. Target objects only decide which attributes the settings dropdowns offer.

06

Choose an invoice mode

Settings §2 Invoice Mode30 sec
Mode = quick

Quick mode

One click. AttiBooks reads the record, fills gaps from your defaults, and submits to QuickBooks.

Best for: Repeat work with steady rates

Mode = custom

Custom mode

A form opens first — edit lines, pick a QuickBooks product per line, set tax, discount, and memo.

Best for: Project work, every invoice different

  1. 1

    Type quick or custom into Mode. Blank means quick. Switch any time.

07

Set template defaults

Settings §3 Default Invoice Template2 min

Fallbacks for anything a record doesn’t have, so an invoice is never half-built. Quick mode uses them as-is; custom mode pre-fills the form with them. Type numbers plainly (150, not $150).

Service DescriptionLine description

e.g. Consulting services. Built-in fallback: “Consulting services”.

Rate ($)Unit price

e.g. 150. Built-in fallback: 150.

QuantityUnits or hours

e.g. 1. Built-in fallback: 1.

Currency3-letter code

e.g. USD. Must be enabled in your QuickBooks company.

Payment Due DaysNet terms

e.g. 30 — days from invoice date to due date.

Default QBO Item IDProducts & Services item

Optional. Keeps invoices posting to the right income account.

Default Tax CodeTax on every line

Optional. TAX or NON on US companies; a tax code id elsewhere.

Default Discount %Discount line

Optional. 0–100.

08

Map writeback fields

Settings §4 Writeback Fields3 min

After QuickBooks accepts an invoice, AttiBooks writes the result back to the Attio record — so your CRM shows invoice number, status, and what’s still owed.

  1. 1

    In Attio, create the attributes first on each target object (e.g. a text attribute Invoice number, a number attribute Balance).

  2. 2

    Back in settings, pick each one from its dropdown. You can also type a slug that isn’t listed.

Start with these three

Invoice Number, Invoice Status, and Sync Error. Sync Error is where every failure is written — without it, errors only show as a toast. Add the rest when you need them.

Invoice IDtext

QuickBooks invoice id. Required for sync, send, push, remind, and edit.

Invoice Numbertext

The number your customer sees.

Invoice Statustext or status

Open, Paid, Voided — refreshed on every sync.

Invoice URLurl

Opens the invoice inside QuickBooks.

Last Synctimestamp

When the record was last refreshed.

Sync Errortext

Last error. Empty on success — read this first when something breaks.

Balance Duenumber

0 once paid in full. Filter on it to find who owes you.

Amount Paidnumber

Total minus balance.

Due Datedate

As QuickBooks holds it. Powers overdue views and reminders.

Estimate IDtext

Set by the estimate action; needed to convert.

Estimate Numbertext

The number on the quote.

Estimate Statustext or status

Pending, Accepted, Converted.

Estimate URLurl

Opens the estimate inside QuickBooks.

Map Balance Due and Due Dateand an Attio view filtered on “balance > 0 and due date in the past” becomes your collections list.

09

Map source fields

Settings §5 Source Fields (optional)2 min

Source fields pull invoice data from the record you click. Any field left blank uses the template default from step 7.

Customer Nametext

Optional. Blank uses the record's own name (company, person, or deal name).

Customer Emailemail or text

Where QuickBooks sends the invoice. Needed for Send and Remind.

Service Descriptiontext

Line description.

Ratenumber or currency

Unit price.

Quantitynumber

Multiplied by rate.

Currencytext

3-letter code, e.g. EUR.

Due Daysnumber

Net terms for this record.

Linked records: type reference.attributeto read one hop away — e.g. on a deal, company.name bills the linked company.

10

Create a test invoice

Any record → actions menu1 min
  1. 1

    Open a record on a target object (a sandbox QuickBooks company is ideal for this).

  2. 2

    Open the record’s actions menu and choose Create QuickBooks Invoice.

  3. 3

    Custom mode: review the form and submit. Quick mode: it goes straight to QuickBooks.

Done when: A toast reads Invoice #1001 created! and the record shows the number, status, and link you mapped. Your dashboard checklist turns green.

Didn’t work? The error is on the record’s Sync Error field — look it up in Troubleshooting.

Part B

Everyday use

What you do from an Attio record once setup is done.

11

Create invoices

Record → Create QuickBooks Invoice

Quick mode builds the invoice from the record and your defaults and submits it in one click.

Custom mode opens a form first: edit the customer, add as many lines as you need, pick a QuickBooks product or service per line, and set a tax code, a percentage or fixed discount, and a memo.

Either way, the invoice number, status, link, balance, and due date are written back to the record within seconds.

12

Quote first, invoice later

Record → Create QuickBooks Estimate

Create a QuickBooks estimatefrom the same record data — same mapping, lines, tax, and discount. Its number, status, and link go to the estimate writeback fields.

When the deal closes, run the Convert estimate to invoice workflow block (see Workflow blocks). It copies the estimate into a linked invoice in QuickBooks.

Estimates are free

Creating an estimate doesn’t count toward your monthly limit. Converting does — that’s when the customer is billed. AttiBooks refuses to convert an estimate whose record already has an invoice, so nobody is billed twice.

13

Store invoices as Attio records

Settings §7 Advanced

Optional. Gives every invoice its own record in an Attio invoicesobject — one row per invoice, with number, status, totals, customer, and QuickBooks ids. It also unlocks Edit & Void and bulk sync.

  1. 1

    In 7. Advanced, turn on Store invoices as Attio records.

  2. 2

    Optional: set Invoice Object Slug to use an object you already have. Blank creates invoices.

  3. 3

    Press Run Setup.

Done when: A toast reads Invoice object ready.

Custom objects need an Attio plan that supports them. Without one, writeback to the source record still works.

14

Edit and void from Attio

Invoice record → actions menu

These actions appear on records in the Invoice object:

Edit Invoice in QuickBooksdue date, memo

Leave a field blank to keep its current value. Changes go straight to QuickBooks.

Void in QuickBooksconfirm first

Voids the invoice in QuickBooks and re-syncs the record. Cannot be undone.

QuickBooks is the source of truth

Totals, balance, and payments are read-only in Attio. Every change goes to QuickBooks first, then syncs back — one writer, no conflicts. AttiBooks never deletes anything in QuickBooks.

15

Keep invoices in sync

Settings §6, record action, or workflow

Payments and edits made in QuickBooks flow back to Attio. Sync only reads what changed since the last run.

Sync NowSettings §6 Invoice Sync

Pulls every changed invoice into the Invoice object.

Sync Invoices from QuickBooksAny record's actions menu

Same as Sync Now, without leaving the record.

Sync invoice blockAttio workflow

Refreshes one record's invoice — put it on a daily schedule.

Automatic daily syncPro plan

Runs at 00:00 UTC into the Invoice object. Starts once you open AttiBooks settings after upgrading.

Sync Now, the record action, and the automatic daily sync need the Invoice object on. Without it, use the Sync invoice or Remindblock — both refresh status, balance, and due date on the source record.

Part C

Automate

Let Attio workflows create, send, and chase invoices for you.

16

Workflow blocks

Attio → Workflows → New workflow
  1. 1

    In Attio, open Workflows → New workflow and pick a trigger (record created, stage changed, a schedule).

  2. 2

    Add a step, search AttiBooks, and pick a block.

  3. 3

    Bind Record to the trigger’s record. Fill any optional fields.

Blocks use the settings you already filled in — mapping, defaults, writeback. Nothing to configure twice. Failures land in Sync Error, just like manual runs.

Create QuickBooks invoice

Counts toward quota

Builds an invoice from the record with your mapping and defaults, and writes the result back.

Fields
Record · Skip if already invoiced · Line description · Due in days · QuickBooks item · Extra lines · Tax code · Discount %
Skips
Records that already have an invoice, when the skip box is on.

Sync invoice from QuickBooks

Refreshes the record's invoice status, balance, and due date.

Fields
Record
Skips
Records without an Invoice ID.

Send invoice via QuickBooks

Emails the invoice through QuickBooks' own delivery.

Fields
Record · Send to (optional override)
Skips
Records without an Invoice ID.

Push invoice to QuickBooks

Updates the due date and/or memo on the QuickBooks invoice from Attio values.

Fields
Record · Due date (bind a date attribute) · Memo (bind a text attribute)
Skips
When both fields are empty, or already match QuickBooks.

Remind about an unpaid invoice

Re-sends overdue, unpaid invoices. Refreshes the balance either way — a daily run doubles as payment sync.

Fields
Record · Days past due · Minimum days between reminders · Send to (optional)
Skips
Paid invoices, ones not yet overdue, and ones reminded inside the cooldown.

Create QuickBooks estimate

Creates a quote from the record — same mapping and line options as an invoice.

Fields
Record · Skip if already estimated · Line description · Valid for (days) · QuickBooks item · Extra lines · Tax code · Discount %
Skips
Records that already have an estimate, when the skip box is on.

Convert estimate to invoice

Counts toward quota

Turns the record's estimate into a linked invoice in QuickBooks.

Fields
Record
Skips
Records with no estimate, or that already have an invoice.

Loop protection

Create, send, push, remind, and estimate are each capped at 50 runs per hour per workspace. Runs over the cap are logged as rate capped. Push compares with QuickBooks first and skips when nothing changed — safe on a “record updated” trigger.

Invoices created by a workflow — including converted estimates — count toward your monthly quota like manual ones. Sync, send, push, remind, and creating an estimate don’t.

17

Ready-made recipes

Copy these into Attio workflows. Each is one trigger and one or two blocks.

Invoice on Closed Won

When

Deal stage changes to Closed Won

Then

  1. 1.Create QuickBooks invoice (skip if already invoiced: on)
  2. 2.Send invoice via QuickBooks

Quote, then bill

When

Deal reaches Proposal → then Closed Won

Then

  1. 1.On Proposal: Create QuickBooks estimate
  2. 2.On Closed Won: Convert estimate to invoice

Daily collections chaser

When

Scheduled, daily — records with Balance Due > 0

Then

  1. 1.Remind about an unpaid invoice (7 days past due, 7 days between reminders)

Keep due dates in step

When

Record updated — Due Date attribute changes

Then

  1. 1.Push invoice to QuickBooks (bind Due date)

Part D

Account & billing

The attibooks.com side: usage, plans, alerts, and billing.

18

Your dashboard

attibooks.com/login

Sign in at attibooks.com/login. Until setup is done it shows a checklist — verify email, link a workspace, connect QuickBooks, create your first invoice — that ticks itself off as you go. After that, each linked workspace gets a card with:

Plan & usagestatus

Current plan and invoices used this month against your limit.

Recent runsstatus

Latest automation runs with their result and skip reason.

Upgradebutton

Pro, monthly or yearly.

Manage billingbutton

Stripe portal: invoices, card, cancellation.

Failure alertssetting

Email and/or Slack when a run fails. At most one alert an hour.

Unlinkbutton

Detaches the workspace. AttiBooks stops working there until relinked; QuickBooks data is untouched.

19

Plans & limits

Free

$0/mo

  • 10 invoices per month
  • Quick & custom modes, estimates
  • All seven workflow blocks
  • Manual and workflow sync

Pro

$29/mo

or $290/year

  • Unlimited invoices
  • Everything in Free
  • Automatic daily sync

At the free limit, new invoices are blocked until the 1st of next month or until you upgrade. Everything else — sync, send, reminders, estimates, existing invoices — keeps working.

Part E

Reference

Look things up when you need them.

20

Settings at a glance

21

Troubleshooting

Find the message you see, then do what the right column says.

Integration not configured

Settings couldn't be read. Reload Attio, open AttiBooks → Workspace settings once, then retry.

Not Connected (Check Status)

Press Connect QuickBooks in the AttiBooks header and authorize again.

Customer name required

The record has no name. Map Customer Name in §5 Source Fields, or add a name to the record.

Monthly invoice limit reached

You've used your 10 free invoices. Upgrade from the dashboard, or wait for the 1st.

No QBO Invoice ID found on this record

Map Invoice ID in §4 Writeback Fields. Only invoices created after that are linked.

Record shows default rate instead of its own

The source field isn't mapped, or the attribute is empty on that record. Check §5.

Attribute missing from a dropdown

Add its object to Target Objects in §7, or type the slug and pick “Use …”.

Already linked elsewhere

Another account linked this workspace. Ask them to Unlink from their dashboard.

Invoice created, but custom object sync failed

The invoice is in QuickBooks. Press Run Setup in §7, then Sync Now in §6.

Errors after switching QuickBooks company

Update QBO Company ID in §7, then reconnect from the header.

Sync Now does nothing

Turn on the Invoice object (§7 → Run Setup). Or use the Sync invoice block.

Still stuck? Email help@attibooks.com with the record link and the text of Sync Error.

22· Quick reference

Every feature, briefly.

Create

  • One-click invoices

    From companies, deals, people, or any custom object.

  • Quick & custom modes

    Speed when you want it, control when you need it.

  • Multi-line invoices

    Each line with its own QuickBooks product or service.

  • Tax codes & discounts

    Per invoice, or as defaults.

  • Estimates

    Quote from a record; convert when the deal closes.

Stay in sync

  • Payment writeback

    Balance, amount paid, and due date on every touch.

  • Invoice object

    Every invoice as its own Attio record.

  • Edit & void from Attio

    Due date and memo, or void — pushed to QuickBooks.

  • Incremental sync

    Only invoices that changed. Daily and automatic on Pro.

  • Errors in your CRM

    Failures are written to the record, not lost in a log.

Automate

  • Seven workflow blocks

    Create, sync, send, push, remind, estimate, convert.

  • Overdue reminders

    Re-send unpaid invoices with a per-invoice cooldown.

  • Loop-safe

    Hourly caps per action, plus a no-change guard on push.

  • Run history

    Every run logged with its result and skip reason.

  • Failure alerts

    Email or Slack, at most one an hour.

Account

  • Attribute pickers

    Choose fields from a dropdown of your real attributes.

  • Environment auto-detect

    Sandbox or production, from the token.

  • Credentials stay in Attio

    QuickBooks tokens never leave your workspace.

  • Self-serve billing

    Upgrade, manage, or unlink from the dashboard.

“A good invoice is the one that gets paid —a great one is the one you barely had to make.”