Salespersons
Salespersons (sales representatives) are internal agents that can be assigned to customers and documents. They earn commissions on the documents they are associated with.
Required fields
| Field | Type | Notes |
|---|---|---|
number | String! | Unique reference code within the company |
name | String! | Salesperson name |
countryId | Int! | The salesperson's country |
languageId | Int! | The salesperson's preferred language |
Creating a salesperson
mutation {
salespersonCreate(
companyId: 1
data: {
number: "SP001"
name: "João Silva"
countryId: 1
languageId: 1
email: "joao.silva@company.com"
phone: "+351 910 000 000"
baseCommission: 5.0
}
) {
data {
salespersonId
number
name
baseCommission
}
errors { field msg }
}
}
Key fields
| Field | Description |
|---|---|
baseCommission | Default commission percentage earned on documents |
documentCopies | Default number of document copies to print |
Getting a salesperson
query {
salesperson(companyId: 1, salespersonId: 5) {
data {
salespersonId
number
name
email
baseCommission
country { name }
language { name }
}
errors { field msg }
}
}
Listing salespersons
query {
salespersons(
companyId: 1
options: {
pagination: { page: 1, qty: 20 }
order: { field: name, sort: ASC }
}
) {
data {
salespersonId
number
name
baseCommission
}
options {
pagination { page qty count }
}
}
}
Updating a salesperson
Only the fields you send are updated. salespersonId is required:
mutation {
salespersonUpdate(
companyId: 1
data: {
salespersonId: 5
baseCommission: 7.5
email: "joao.silva.new@company.com"
}
) {
data {
salespersonId
baseCommission
}
errors { field msg }
}
}
Deleting salespersons
Accepts an array of IDs. Salespersons referenced by existing documents cannot be deleted, so check deletable first:
mutation {
salespersonDelete(companyId: 1, salespersonId: [5]) {
status
deletedCount
elementsCount
errors { field msg }
}
}
Commissions
Use salespersonCommissions to retrieve commission data, including earned and pending amounts from associated documents:
query {
salespersonCommissions(
companyId: 1
options: {
pagination: { page: 1, qty: 20 }
}
) {
data {
salespersonId
name
}
options {
pagination { page qty count }
}
}
}
Related documents
Retrieve all documents associated with a salesperson:
query {
getSalespersonRelatedDocuments(
companyId: 1
salespersonId: 5
options: {
pagination: { page: 1, qty: 20 }
}
) {
data {
documentId
documentTypeId
number
date
totalValue
}
options {
pagination { page qty count }
}
}
}
Next steps
- Customers: Manage your customer contacts
- Suppliers: Manage your supplier contacts
- Creating an Invoice: Assign a salesperson to a document