The Contact represents a supplier, customer, vendor or business recorded in your accounting ledger, together with its financial and registration details. It captures the contact's name, tax/registration numbers, addresses, accounts receivable and payable balances, saved bank account, business-registry status and related signals. Use it to build alerts that keep contact records clean and to flag risk on suppliers you pay.
The AI will only look back at 12 months' worth of data.
Key Properties:
BusinessName: The contact's name as entered in the accounting ledger (supplier, customer, vendor or business). Also referred to as Supplier, Contact or Vendor.
RegistryMatchedBusinessName: The official/legal name returned by the external business registry (ABN/ABR or equivalent) when the tax number was matched. Compare against BusinessName to detect ledger-vs-registry name mismatches. Note: not currently populated, so it is always null at present.
ContactTaxNumber: The contact's tax number (ABN/VAT/GST etc.) exactly as entered in the ledger. This is the value to validate for data-entry errors (blank, malformed or invalid numbers).
TaxNumber: The contact's canonical tax number as matched against the external business registry. Null/empty when no registry match was found. Use as the authoritative identifier, not for data-entry validation.
CompanyNumber: The contact's company/registration number (e.g. ACN, Companies House number) as held in the ledger. Distinct from the tax number.
ContactStatus: The contact's status in the accounting ledger. Values: ACTIVE, ARCHIVED, GDPRREQUEST. Distinct from the registry status (BusinessRegistrationStatus).
ContactType: Whether the contact is a Customer, Supplier, Both or Unknown. Use the receivable fields for customers and the payable fields for suppliers.
AccountsReceivable: Total outstanding amount owed BY this contact to you (relevant for customer contacts), in the ledger's base currency. Includes amounts not yet overdue.
AccountsReceivableOverdue: The portion of accounts receivable that is past its due date (for customer contacts). Use this for receivable-overdue detection.
AccountsPayable: Total outstanding amount you owe TO this contact (relevant for supplier contacts), in the ledger's base currency. Includes amounts not yet overdue.
AccountsPayableOverdue: The portion of accounts payable that is past its due date (for supplier contacts). Use this for payable-overdue detection.
AccountsReceivableTaxType: The default tax type code applied to receivable (sales) transactions for this contact.
AccountsPayableTaxType: The default tax type code applied to payable (purchase) transactions for this contact.
BusinessPaymentTerms: The contact's default payment terms as configured in the ledger (free text, e.g. number of days or a terms description).
BusinessHasBankAccount: Whether the contact has at least one bank account recorded in the ledger (true/false).
BankAccountDetails: The contact's saved bank account from the ledger, as a single raw string that may combine bank/BSB/branch and account number with dashes or spaces. Null/empty when none is on file. Comparing this against the bank account printed on a bill's attachment helps detect payment-redirection fraud (normalise both sides by removing spaces and dashes first).
PriorBankAccountDetails: The contact's previous (last-acknowledged) saved bank account, i.e. the baseline before the current BankAccountDetails value. Null/empty for most contacts. Compare against BankAccountDetails to see what the account changed from.
BankAccountDetailsChanged: True when the saved bank account has changed from a non-empty prior baseline (a first-time recording does not count). This is the bank-detail-change signal behind "supplier bank account changed since last payment" checks. There is no timestamp for when it changed.
SupplierBankMatchesActiveEmployee: True when this supplier's saved bank account matches the bank account of an active payroll employee in this tenant — a related-party / paying-an-employee-through-accounts-payable signal. Legitimate staff-reimbursement suppliers also match, so corroborate before acting.
SupplierNameMatchesActiveEmployee: True when this supplier's ledger name matches the full name of an active payroll employee in this tenant. A weaker corroborator for the employee-as-payee signal than SupplierBankMatchesActiveEmployee.
UnappliedCreditTotal: Total unapplied (open) supplier credit available to offset against future bills for this supplier, in the ledger base currency. A positive value while AccountsPayable is greater than 0 means credits should be applied before paying (overpayment risk).
UnappliedCreditCount: Number of open (unallocated/partially-allocated, non-voided) credit notes held against this supplier. Pairs with UnappliedCreditTotal; 0 when there is no open credit.
SupplierStreetAddress: The contact's street address from the ledger, as a single concatenated string (address lines, city, region, postcode, country). Null/empty when none is on file. Useful for comparing against the supplier address printed on a bill's attachment.
BusinessDiscount: The contact's default discount percentage as configured in the ledger (e.g. 10 means 10%).
MultiCodedCount: The number of distinct account codes this contact has been coded to across its transactions. A high value can indicate inconsistent account coding.
AccountNames: Names of the ledger account(s) this contact transacts against (free text; may contain multiple comma-separated names).
BusinessType: Entity type text. Note: currently derived from the owning tenant's own ABN, not the individual contact, so do not use it to classify a contact's own entity type.
PhoneNumber: Contact phone number. Note: not currently populated for this data type — always null at present, so do not write logic against it.
EmailAddress: Contact email address. Note: not currently populated for this data type — always null at present, so do not write logic against it.
BusinessRegistrationStatus: The entity's registration status from the external business registry (ABN/Companies House/NZBN/CIPC). Values are registry- and country-specific (e.g. AU "Active"/"Cancelled"; GB "active"/"dissolved"). Null when there is no registry match. Compare case-insensitively and treat anything not clearly "active" as inactive/cancelled.
BusinessRegistrationStatusDate: The date the registration status was last recorded/effective per the external registry. Null when there is no registry match.
IsTaxRegistered: Whether the contact is registered for GST/VAT per the external registry (true/false/null). Null means unknown/not-checked (includes all GB/ZA/CA contacts and any contact not matched). Do not treat null as false.
TaxRegistrationStatusDate: The date the GST/VAT registration status was last recorded/effective per the external registry. Null when unknown or no registry match.
TaxRegistrationNumber: GST/VAT registration number from the external registry. Currently only populated for New Zealand contacts (NZBN GST number); null for AU/GB/ZA/CA. For the contact's tax identifier use TaxNumber or ContactTaxNumber instead.
LastActivity: The date of the contact's most recent activity in the ledger (e.g. last transaction or update). This is the last time the contact transacted — it is NOT when the contact was created.
CreatedDate: The date this contact was first recorded in XBert (the ledger-sync ingest time). Use this — not LastActivity — to detect newly created contacts/suppliers. Note: every contact that already existed when the ledger was first connected shares that one connection date, so treat contacts as "new" only well after the initial connection, and treat null as unknown.
StreetAddresses: A list of the contact's street (physical) addresses.
Address
AddressLine1: The first line of the address.
AddressLine2: The second line of the address.
AddressLine3: The third line of the address.
AddressLine4: The fourth line of the address.
City: The city.
Region: The region/state.
Postcode: The postal code.
Country: The country.
PostalAddresses: A list of the contact's postal (mailing) addresses. Each entry uses the same fields as StreetAddresses (AddressLine1–4, City, Region, Postcode, Country).
BusinessGroups: A list of the contact groups this contact belongs to.
ContactGroup
BusinessGroupName: The name of the business group.
BusinessGroupStatus: The status of the business group (ACTIVE or ARCHIVED).
SourceLink: A link back to the contact record in the accounting system.
📝 Example Alerts
Alert me when a contact does not have a tax number.
Alert me when a contact has no banking details.
Alert me when a supplier's bank account has changed since it was last recorded.
Alert me when a supplier's bank account matches an active payroll employee.
Alert me when a supplier with an outstanding payable balance has unapplied credit available.
Alert me when a contact's business registry status is not active.
