Back to Moneybird in Google Sheets
SheetXAI logo
Moneybird logo
Moneybird · Google Sheets Guide

Bulk Import New Clients Into Moneybird From a Google Sheet

2026-05-14
5 min read

The Scenario

The marketing campaign closed last week and 30 new clients signed contracts. Their company names, contact names, and emails are sitting in a Google Sheet someone built during the campaign — clean data, good formatting. Before you can issue the first invoice to any of them, each one needs to be a contact in Moneybird. You look at the Moneybird UI and there is no import button. Just a form.

The bad version:

  • Open the first row in the sheet, switch to Moneybird, click New Contact, fill in company name, first name, last name, email — one field at a time
  • Repeat 29 more times, switching back to the sheet each time to copy the next row's values
  • Discover around row 15 that you have been copying the wrong column for last names and you need to go back and fix several records

Thirty contacts is an hour of your morning gone. If the campaign had closed 80 clients instead of 30, you would be staring at a half-day data entry task the week you are supposed to be onboarding them.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that sits inside your Google Sheet. It reads the columns in your sheet, connects to Moneybird through its built-in integration, and creates every contact in one operation. You don't switch windows. You don't copy individual cells.

The prompt:

For each row in this sheet, create a new contact in Moneybird using company name from column A, first name from column B, last name from column C, and email from column D — write the returned contact ID to column E

What You Get

  • SheetXAI reads every populated row in the sheet and sends a contact creation request to Moneybird for each one
  • The Moneybird-assigned contact ID lands in column E for each row as the contacts are created
  • If a contact creation fails — duplicate email, malformed field — that row's column E shows the error message so you know exactly which records to revisit
  • Contacts appear in Moneybird immediately, ready for invoicing

What If the Data Is Not Quite Ready

Some rows are missing a company name — they are sole traders with only a personal name

For each row in this sheet, create a Moneybird contact — if column A is blank, leave company name empty and use first name from column B and last name from column C as the contact name — use email from column D and write the contact ID to column E

The email column has some entries in mixed case that need to be lowercased before sending

For each row in this sheet, create a Moneybird contact using company name from column A, first name from column B, last name from column C, and email from column D converted to lowercase — write the contact ID to column E

I need to skip any rows where column E already has a contact ID (already imported)

For each row in this sheet where column E is blank, create a Moneybird contact using company name from column A, first name from column B, last name from column C, and email from column D — write the returned contact ID to column E

Normalise all names, skip already-imported rows, create the contacts, and flag any failures in column F

For each row where column E is blank, create a Moneybird contact — capitalise the company name from column A, first name from column B, and last name from column C before sending — use the lowercased email from column D — write the contact ID to column E, and if the creation fails write the error reason to column F

One prompt handles the normalisation, the conditional skip, and the failure logging together.

Try It

Get the 7-day free trial of SheetXAI and open your client list sheet, then ask it to create all the Moneybird contacts from your rows. Next, see how to batch-create invoices for those same contacts once they are in the system.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more