# Objects / Customers

# Customers

**Object**
## CustomerGroup

### Implements
*List of interfaces this object implements*

- [ReportFilterInterface](/documentation/Interfaces/Report-Filter-Interface#ReportFilterInterface)

| Fields | Type | Description |
| --- | --- | --- |
| id | [ID!](/documentation/Types/UUID#UUID) | The ID of the customer group |
| name | *String!* | The name of the customer group |
| defaultReceipt | [Receipt](/documentation/Objects/Receipts#Receipt) | The default receipt to use for sales |
| emailReceipt | [Receipt](/documentation/Objects/Receipts#Receipt) | The email receipt to use for sales |
| paymentReceipt | [Receipt](/documentation/Objects/Receipts#Receipt) | The receipt to use when making payments |
| statementTemplate | [Statement](/documentation/Objects/Statements#Statement) | The default statement template for this customer group |
| loyaltyEnabled | *Boolean* | Whether loyalty is enabled or not |
| loyaltyRate | *Float* | The custom loyalty rate for this customer group |
| disablePromotions | *Boolean* | Whether promotions are disabled for this customer group |
| priceList | [PriceList](/documentation/Objects/Price-Lists#PriceList) | The pricelist that this customer group uses |
| allowAccountSales | *Boolean* | Whether account sales are allowed for this customer group |
| accountLimit | *Float* | The total amount that this customer can have unpaid on account at any time |
| autoPrintReceipt | *Boolean* | Whether this customer group should automatically print receipts |
| autoPrintPaymentReceipt | *Boolean* | Whether this customer group should automatically print account payment receipts |
| autoPrintParkedReceipt | *Boolean!* | Whether the customer group should automatically print parked sale receipts |
| autoEmailReceipt | *Boolean* | Whether email receipts should be automatically sent |
| requireOrderReference | *Boolean!* | Whether the customer group requires a reference number to complete a sale |
| createdAt | [DateTime](/documentation/Types/Date-Time#DateTime) | The date and time that this customer group was created |
| updatedAt | [DateTime](/documentation/Types/Date-Time#DateTime) | The last time this customer group was updated |
| customers | [CustomerGroupCustomerConnection](#CustomerGroupCustomerConnection) | The customers who belong to this customer group |
| revisions | [CustomerGroupRevisionConnection](#CustomerGroupRevisionConnection) | The revisions made to the customer group |
| creditTerms | [[TimePeriod]](/documentation/Types/Time-Period#TimePeriod) | The credit terms for this customer group, represented as time periods |

## CustomerGroupCustomerConnection
#### Object  —  [ConnectionType](/documentation/General/Connections) of [Customer](/documentation/Objects/Customers#Customer)

### Sortable Fields
*Fields from [Customer](/documentation/Objects/Customers#Customer) that can be used to sort the connection items*

- firstName
- lastName
- company

## CustomerGroupRevisionConnection
#### Object  —  [ConnectionType](/documentation/General/Connections) of [Revision](/documentation/Objects/Revision#Revision)

### Sortable Fields
*Fields from [Revision](/documentation/Objects/Revision#Revision) that can be used to sort the connection items*

- timestamp



**Object**
## CustomerPayment

| Fields | Type | Description |
| --- | --- | --- |
| id | [ID!](/documentation/Types/UUID#UUID) | The ID of the customer payment |
| customer | [Customer!](/documentation/Objects/Customers#Customer) | The customer who made the payment |
| paymentMethod | [PaymentMethod!](/documentation/Objects/Payment-Method#PaymentMethod) | The payment method that was used to make the payment |
| user | [User!](/documentation/Objects/User#User) | The user who processed the payment |
| register | [Register](/documentation/Objects/Register#Register) | The register that the payment was processed on |
| reference | *String* | A reference for the payment made |
| status | [CustomerPaymentStatusEnum!](/documentation/Enums/Customer-Payment-Status-Enum#CustomerPaymentStatusEnum) | The current status of the customer payment |
| startBalance | *Float!* | The account balance of the customer before the payment was applied |
| amount | *Float!* | The payment amount |
| rounding | *Float!* | The amount of rounding the customer payment has |
| timestamp | [DateTime!](/documentation/Types/Date-Time#DateTime) | The time that the payment took place |
| relatesTo | [CustomerPayment](/documentation/Objects/Customers#CustomerPayment) | Another customer payment that this relates to (normally filled if this has been refunded) |
| payments | [[SalePayment]](/documentation/Objects/Sales#SalePayment) | The sales payments that this payment has been allocated to |
| cancelledAt | [DateTime](/documentation/Types/Date-Time#DateTime) | The time that the payment was cancelled |



**Object**
## Customer

### Implements
*List of interfaces this object implements*

- [ReportFilterInterface](/documentation/Interfaces/Report-Filter-Interface#ReportFilterInterface)
- [SaleActionAffectingInterface](/documentation/Interfaces/Sale-Action-Affecting-Interface#SaleActionAffectingInterface)

| Fields | Type | Description |
| --- | --- | --- |
| id | [ID!](/documentation/Types/UUID#UUID) | The ID of the customer |
| name | *String!* | The name of the filter |
| clientId | *String* | The external ID of the customer (this can be your internal ID) |
| firstName | *String* | The first name of the customer |
| lastName | *String* | The last name of the customer |
| code | *String!* | The customer's code that can be used to quickly find the customer |
| company | *String* | The company that this customer belongs to |
| businessNumber | *String* | The customer's company's business number (e.g. ABN, ACN) |
| birthday | [Date](/documentation/Types/Date#Date) | The customer's birthday |
| gender | *String* | The customer's gender |
| billing | [Contact](/documentation/Objects/Contact#Contact) | The billing details for the customer |
| delivery | [Contact](/documentation/Objects/Contact#Contact) | The delivery details for the customer |
| emails | [[Email]](/documentation/Types/Email#Email) | A list of email addresses for the customer |
| fax | *String* | The customer's fax number |
| phone | *String* | The customer's phone number |
| mobile | *String* | The customer's mobile number |
| allowMarketingEmails | *Boolean* | Whether this customer has either not specified (null), opted in (true) or opted out (false) to receiving marketing emails. |
| website | *String* | The customer's website |
| twitter | *String* | The customer's twitter handle |
| facebook | *String* | The customer's facebook page |
| invoiceMessage | *String* | A message to include on any invoices to the customer |
| comments | *String* | An internal comment about the customer |
| customerGroup | [CustomerGroup](/documentation/Objects/Customers#CustomerGroup) | The group this customer belongs to |
| loyaltyEnabled | *Boolean* | Whether loyalty is enabled for this customer |
| loyaltyRate | *Float* | The loyalty rate for this customer (null if loyalty is disabled or using the outlet's rate) |
| loyaltyPoints | *Float* | The amount of loyalty points this customer currently has |
| disablePromotions | *Boolean* | Whether promotions are disabled for this customer |
| priceList | [PriceList](/documentation/Objects/Price-Lists#PriceList) | The pricelist for this customer |
| requireOrderReference | *Boolean!* | Whether the customer requires a reference number to complete a sale |
| accountLimit | *Float* | The maximum amount of money this customer can owe |
| currentOwing | *Float* | The current amount of money this customer owes |
| overrideCustomerGroup | *Boolean* | Whether this customer is overriding the customer group |
| revisions | [CustomerRevisionConnection](#CustomerRevisionConnection) | The revisions to the customer |
| payments | [CustomerCustomerPaymentConnection](#CustomerCustomerPaymentConnection) | A list of payments this customer has made |
| createdAt | [DateTime](/documentation/Types/Date-Time#DateTime) | The time this customer was created |
| updatedAt | [DateTime](/documentation/Types/Date-Time#DateTime) | The last time this customer was updated |

## CustomerRevisionConnection
#### Object  —  [ConnectionType](/documentation/General/Connections) of [Revision](/documentation/Objects/Revision#Revision)

### Sortable Fields
*Fields from [Revision](/documentation/Objects/Revision#Revision) that can be used to sort the connection items*

- timestamp

## CustomerCustomerPaymentConnection
#### Object  —  [ConnectionType](/documentation/General/Connections) of [CustomerPayment](/documentation/Objects/Customers#CustomerPayment)

### Sortable Fields
*Fields from [CustomerPayment](/documentation/Objects/Customers#CustomerPayment) that can be used to sort the connection items*

- amount
- timestamp