Customers
A Customer is the final stage of the commercial funnel — an Organisation or Person that has signed a deal with your business. Customer relationships store the business-critical fields used by invoices, subscriptions, and account management: account manager, payment terms, status, price list, owners.
The TribeCRM commercial funnel is: Suspect → Lead → HotProspect → Prospect → Customer.
- Organisation Customer —
Relationship_Organization_CommercialRelationship_Customer— when the customer is a company (B2B). - Person Customer —
Relationship_Person_CommercialRelationship_Customer— when the customer is an individual (B2C).
Both share the same fields and lifecycle; the only difference is which Relation subtype is linked (Organization vs Person).
A Customer is a Relationship — it defines the role an Organisation or Person plays in your business. The Organisation or Person itself (Relation.Organization / Relation.Person) is the underlying entity record. To create a Customer, link an Organisation or Person through this Relationship.
Endpoints
List Customers
Retrieve a paginated list of customers.
Organisation (B2B)
/v1/odata/Relationship_Organization_CommercialRelationship_CustomerPerson (B2C)
/v1/odata/Relationship_Person_CommercialRelationship_CustomerSingle Customer
Retrieve a single customer by its ID.
Organisation (B2B)
/v1/odata/Relationship_Organization_CommercialRelationship_Customer({id})/v1/odata/Relationship_Organization_CommercialRelationship_Customer({id})?$expand=Organization,AccountManagerPerson (B2C)
/v1/odata/Relationship_Person_CommercialRelationship_Customer({id})/v1/odata/Relationship_Person_CommercialRelationship_Customer({id})?$expand=Person,AccountManagerCreate Customer with a New Relation
Create a customer relationship and its underlying Organisation or Person in one call.
Organisation (B2B)
/v1/odata/Relationship_Organization_CommercialRelationship_CustomerPerson (B2C)
/v1/odata/Relationship_Person_CommercialRelationship_CustomerRelation.ID— The parent Relation (typically your own organisation).Organization/Person— The child Relation fields (created automatically). For Person,LastNameis mandatory.
Create Customer from an Existing Relation
Link an existing Organisation or Person as a customer.
Organisation (B2B)
/v1/odata/Relationship_Organization_CommercialRelationship_CustomerPerson (B2C)
/v1/odata/Relationship_Person_CommercialRelationship_CustomerUpdate Customer
Update an existing customer relationship. Provide only the fields to update.
Organisation (B2B)
/v1/odata/Relationship_Organization_CommercialRelationship_Customer({id})Person (B2C)
/v1/odata/Relationship_Person_CommercialRelationship_Customer({id})Upgrade a previous stage to Customer
Convert a Lead, Hot Prospect, or Prospect into a Customer by changing its _Type. All linked activities, notes, and history are preserved.
Organisation (B2B) — upgrade an Organisation Lead to Customer:
/v1/odata/Relationship_Organization_CommercialRelationship_LeadPerson (B2C) — upgrade a Person Lead to Customer:
/v1/odata/Relationship_Person_CommercialRelationship_LeadUse the Relationship ID, not any of the Relation IDs.
Type conversion only works within the same Relation type: an Organisation Lead/HotProspect/Prospect can become an Organisation Customer, a Person Lead/HotProspect/Prospect can become a Person Customer. You cannot cross-convert between Organisation and Person variants.
Delete Customer
Delete a customer relationship by ID. This removes the customer role but does not delete the underlying Organisation or Person.
Organisation (B2B)
/v1/odata/Relationship_Organization_CommercialRelationship_Customer({id})Person (B2C)
/v1/odata/Relationship_Person_CommercialRelationship_Customer({id})Fields
Standard Fields (all entities)
| Field | Type | Description |
|---|---|---|
ID | Guid | Primary key (UUID) |
_Type | String | Entity type discriminator (Relationship.Organization.CommercialRelationship.Customer or Relationship.Person.CommercialRelationship.Customer) |
_Name | String | Computed display name |
SortIndex | Double | Sorting order |
CreationDate | DateTimeOffset | Date the record was created |
LastMutationDate | DateTimeOffset | Date of the last modification |
IsActive | Boolean | Whether the record is active |
IsClosed | Boolean | Whether the record is closed |
Customer Fields
| Field | Type | Description |
|---|---|---|
Name | String | Customer display name |
SortName | String | Sortable name variant (Person variant) |
PaymentTermInDays | Double | Payment term in days |
DoNotSendInvoiceReminders | Boolean | Opt out of invoice reminders |
MailingOptOut | Boolean | Opt out of mailings |
UpgradeDate | DateTimeOffset | Date the relationship was upgraded (e.g. from Lead) |
DowngradeDate | DateTimeOffset | Date the relationship was downgraded |
IsFormer | Boolean | Whether this is a former customer |
FormerDate | DateTimeOffset | Date the customer became former |
Relationships
| Relationship | Target Entity | Cardinality | Description |
|---|---|---|---|
| Relation | Relation | N:1 | Parent relation (your organisation) |
| Organization | Relation.Organization | N:1 | B2B only: the customer organisation |
| Person | Relation.Person | N:1 | B2C only: the customer person |
| AccountManager | Employee | N:1 | Assigned account manager |
| Status | Datastore | N:1 | Customer status |
| Owners | Employee | 1:N | Owners |
| PriceList | PriceList | N:1 | Assigned price list |
| Activities | Activity | 1:N | Linked activities |
| Attachments | Attachment | 1:N | Attached files |
| Notes | Note | 1:N | Notes |
| Labels | Label | 1:N | Labels |
Expanding Relationships
/v1/odata/Relationship_Organization_CommercialRelationship_Customer({id})?$expand=Organization/v1/odata/Relationship_Person_CommercialRelationship_Customer({id})?$expand=Person/v1/odata/Relationship_Person_CommercialRelationship_Customer?$select=Name,PaymentTermInDays&$expand=Person($select=ID,FirstName,LastName)Navigating Relationships
/v1/odata/Relationship_Organization_CommercialRelationship_Customer({id})/RelationFiltering Examples
The same $filter syntax applies to both Organisation and Person variants — substitute the entity URL accordingly.
/v1/odata/Relationship_Organization_CommercialRelationship_Customer?$filter=contains(Name, '{Name}')&$top={top}/v1/odata/Relationship_Person_CommercialRelationship_Customer?$filter=contains(Name, '{Name}')&$top={top}/v1/odata/Relationship_Organization_CommercialRelationship_Customer?$filter=PaymentTermInDays eq {PaymentTermInDays}&$top={top}/v1/odata/Relationship_Person_CommercialRelationship_Customer?$filter=IsFormer eq {IsFormer}&$top={top}/v1/odata/Relationship_Organization_CommercialRelationship_Customer?$filter=CreationDate gt {CreationDate}&$top={top}/v1/odata/Relationship_Organization_CommercialRelationship_Customer?$filter=IsClosed eq {IsClosed}&$top={top}