Overview
Xero is built for accounting, not for database management.
Cleaning up more than a few hundred contacts means opening records one at a time, Xero's CSV import stops at 998 rows, contact-group membership is invisible in the contact list, and personal data you should no longer hold keeps piling up.
Bulk Contact Manager adds the three jobs Xero leaves to you:
Do it in bulk.
Select hundreds or thousands of contacts and act once: assign contact groups, edit fields, change branding themes, add notes or archive, with a clear report per contact. Every change is written to the contact's History in Xero, so your audit trail stays in Xero.
Find anything.
Filters Xero doesn't have: contacts with no transactions since any date, missing tax numbers or e-mail addresses, empty notes, specific groups, countries or branding themes. Fuzzy search across thousands of contacts. Export exactly what you filtered, contact groups included.
Retention cleanup on autopilot.
You set the retention period for each organisation, and Bulk Contact Manager continuously flags contacts that are past it, blocks anonymisation whenever recent transactions exist, and anonymises personal data in Xero with an audit note.
Built around Xero's API requirements
Bulk actions run in the background at a pace Xero accepts. Jobs too big for one day's API allowance are split into daily parts automatically, pause when the allowance runs out and carry on by themselves. You get an honest report afterwards: what was done, what was skipped, and why.
Also included: CSV import with column mapping, single-contact editing in a side panel, multi-organisation switching with strict data isolation, incremental sync, and a Privacy Policy, Terms and DPA with named sub-processors you can read before connecting anything.
Plans are available monthly or yearly; yearly saves up to 23%. Sign in with Xero and start a 14-day free trial, no payment details needed.
Bulk Contact Manager + Xero
Bulk Contact Manager connects to Xero with OAuth 2.0 ("Sign in with Xero" is the only login). You can connect any number of Xero organisations and switch between them from the navigation; every API call and every database query is scoped to the selected organisation.
What we read from Xero
- Contacts, including addresses, phones, contact groups, branding theme and status, into a local cache that is refreshed incrementally (only changes since the last sync are fetched).
- Only the IDs and dates of invoices, purchase orders and bank transactions, to compute each contact's last transaction date. No amounts, line items or ledgers are read or stored.
- The organisation name (to show which organisation is connected) and the list of branding themes.
What we write to Xero
- Contact fields (name, e-mail, branding theme, status), contact group membership, and a History note on every change.
- Anonymisation of personal data for contacts past their retention period, with an audit note written first.
- We never create or change invoices, bills, payments, bank transactions or any other transactional data.
How it runs
- All writes go through a background queue that respects Xero's per-minute and daily rate limits, reads the rate-limit headers after every call and backs off automatically.
- Large jobs are split into daily parts before they start; the first part runs immediately, the rest follow automatically. You can cancel scheduled parts from the Contacts page.
- Xero validation errors are shown per contact in plain language, and a revoked or expired connection is reported with a one-click reconnect.
Scopes requested: accounting.contacts (read/write), accounting.invoices.read, accounting.banktransactions.read, accounting.settings.read, plus openid, profile, email and offline_access. Tokens are encrypted at rest and never reach the browser. You can disconnect an organisation at any time from the Organisations page; this revokes the token at Xero and deletes it from our database.
Pricing plans
This app includes a free 14 day trial
Starter
- 1 Xero organisation
- Up to 5,000 contacts
- Advanced filtering & fuzzy search
- Bulk edits, groups & archiving
- CSV import & export (incl. contact groups)
Standard
- Up to 3 Xero organisations
- Unlimited contacts & bulk edits
- Everything in Starter
- Automated data-retention scans, PII anonymization
- Xero history audit trails
Partner
- Unlimited contacts & bulk edits
- All compliance features, across every client
- Scales in blocks of 5 organisations
Getting started
- Sign in with Xero. Open the app, click "Connect to Xero" and choose the organisation you want to work on. Every new account starts a 14-day free trial; no card needed.
- Let the first sync run. Contacts and transaction dates are imported in the background. A Demo Company takes under a minute; a large organisation may take longer and continues by itself if Xero's daily API allowance runs out.
- Set your retention period. On the Organisations page, enter how long you keep contact data after a contact's last transaction. We do not suggest a period: it is your organisation's own decision, so check with your accountant or adviser if you are unsure.
- Filter and act. Open Contacts, combine filters (type, country, group, branding theme, last transaction date, missing fields), select the contacts you need and pick a bulk action. Progress and results appear in the job tray.
- Review privacy actions. The "Privacy Action Required" tab lists contacts past their retention period. Anonymise them in bulk after a typed confirmation; contacts with recent transactions are blocked automatically.
- Add more organisations from the Organisations page and switch between them in the navigation bar.
Need help? Every screen has a Help page, and our support team answers within one business day.





