Workflow: Client Divisions
Manage organizational divisions, departments, and subsidiaries using the Customer API. This guide covers division setup, permissions, reporting, and multi-division workflows for enterprise customers.
Overview
Client divisions enable organizations to segment their debt collection operations by business units, departments, geographic regions, or subsidiaries. Each division can have its own settings, users, and reporting while maintaining centralized oversight.
Division Concepts
What are Divisions?
Divisions are logical groupings within your organization that allow you to:
- Separate cases by business unit or department
- Apply different collection strategies
- Assign specific users and permissions
- Generate division-specific reports
- Manage costs and budgets per division
- Maintain separate workflows
Division Hierarchy
Divisions can be organized hierarchically:
Organization (Client)
├── Division: Sales Department
│ ├── Sub-division: North Region
│ └── Sub-division: South Region
├── Division: Service Department
└── Division: Subsidiary A
Use Cases
Multi-department organizations:
- Sales, Marketing, Operations each manage own debtors
- Separate reporting and budgets
- Division-specific workflows
Multi-location businesses:
- Regional offices manage local cases
- Geographic-based assignment
- Location-specific reporting
Holding companies:
- Parent company oversight
- Subsidiary autonomy
- Consolidated reporting
Managing Divisions
List Divisions
Get all divisions in your organization:
Endpoint: GET /api/divisions
GET /api/divisions
Authorization: Bearer your-access-token
Response:
{
"divisions": [
{
"divisionId": "div_001",
"name": "Sales Department",
"code": "SALES",
"parentDivisionId": null,
"status": "active",
"settings": {
"defaultCurrency": "DKK",
"defaultLanguage": "da"
},
"createdAt": "2024-01-01T10:00:00Z"
},
{
"divisionId": "div_002",
"name": "North Region",
"code": "SALES-NORTH",
"parentDivisionId": "div_001",
"status": "active",
"createdAt": "2024-01-01T10:00:00Z"
}
],
"totalCount": 2
}
Create Division
Create a new division:
Endpoint: POST /api/divisions
POST /api/divisions
Authorization: Bearer your-access-token
Content-Type: application/json
{
"name": "Service Department",
"code": "SERVICE",
"parentDivisionId": null,
"settings": {
"defaultCurrency": "DKK",
"defaultLanguage": "da",
"allowSubDivisions": true,
"requireApproval": false
},
"contactInfo": {
"email": "service@example.com",
"phone": "+4512345678"
}
}
Response:
{
"divisionId": "div_003",
"name": "Service Department",
"code": "SERVICE",
"status": "active",
"createdAt": "2024-01-02T10:00:00Z"
}
Update Division
Update division settings:
Endpoint: PUT /api/divisions/{divisionId}
{
"name": "Service & Support Department",
"settings": {
"defaultCurrency": "EUR",
"requireApproval": true
}
}
Deactivate Division
Deactivate a division (cases remain accessible):
Endpoint: PUT /api/divisions/{divisionId}/deactivate
{
"reason": "Department restructuring",
"transferCasesTo": "div_001"
}
Division Settings
General Settings
Configure division-level settings:
{
"settings": {
"defaultCurrency": "DKK",
"defaultLanguage": "da",
"allowSubDivisions": true,
"requireApproval": true,
"autoAssignPartner": true,
"minimumCaseAmount": 1000.00,
"maximumCaseAmount": 1000000.00
}
}
Collection Strategy
Set division-specific collection strategies:
{
"collectionStrategy": {
"reminderSequence": [
{"days": 7, "type": "email"},
{"days": 14, "type": "letter"},
{"days": 21, "type": "phone"}
],
"escalationThreshold": 10000.00,
"legalActionThreshold": 50000.00,
"partnerPreferences": ["Partner A", "Partner B"]
}
}
Workflow Configuration
Configure division workflows:
{
"workflows": {
"caseApproval": {
"enabled": true,
"approvers": ["user_001", "user_002"],
"threshold": 50000.00
},
"settlementApproval": {
"enabled": true,
"discountLimit": 0.20
}
}
}
User and Permission Management
Assign Users to Division
Assign users to divisions with specific roles:
Endpoint: POST /api/divisions/{divisionId}/users
{
"userId": "user_001",
"role": "division_admin",
"permissions": [
"create_cases",
"view_cases",
"edit_cases",
"manage_users",
"view_reports"
]
}
Division Roles
Standard division roles:
- division_admin - Full division management
- case_manager - Create and manage cases
- viewer - Read-only access
- reporter - Access to reports only
- custom - Custom permission set
Permission Levels
Control access at various levels:
Division-level permissions:
- Create and manage cases
- Manage division settings
- Assign users and roles
- View reports and analytics
- Manage budgets
Cross-division permissions:
- View cases across divisions
- Consolidated reporting
- User management across divisions
- System administration
Case Assignment
Assign Cases to Division
When creating cases, specify division:
Endpoint: POST /api/cases
{
"divisionId": "div_001",
"debtorName": "Example Company ApS",
"principalAmount": 15000.00,
// ... other case fields
}
Transfer Cases Between Divisions
Transfer existing cases:
Endpoint: POST /api/cases/{caseId}/transfer
{
"targetDivisionId": "div_002",
"reason": "Geographic realignment",
"transferDate": "2024-02-01",
"notifyUsers": true
}
Auto-Assignment Rules
Configure automatic division assignment:
{
"autoAssignmentRules": [
{
"condition": "debtor.region == 'North'",
"divisionId": "div_002"
},
{
"condition": "amount > 50000",
"divisionId": "div_001"
},
{
"condition": "debtor.type == 'corporate'",
"divisionId": "div_003"
}
]
}
Division Reporting
Division Statistics
Get division performance metrics:
Endpoint: GET /api/divisions/{divisionId}/statistics
{
"divisionId": "div_001",
"period": {
"from": "2024-01-01",
"to": "2024-01-31"
},
"metrics": {
"totalCases": 150,
"activeCases": 100,
"resolvedCases": 40,
"closedCases": 10,
"totalAmount": 1500000.00,
"collectedAmount": 900000.00,
"collectionRate": 0.60,
"averageResolutionTime": 45
}
}
Consolidated Reports
Generate reports across all divisions:
Endpoint: GET /api/reports/consolidated
GET /api/reports/consolidated?dateFrom=2024-01-01&dateTo=2024-01-31
Authorization: Bearer your-access-token
Response:
{
"period": {
"from": "2024-01-01",
"to": "2024-01-31"
},
"divisions": [
{
"divisionId": "div_001",
"divisionName": "Sales Department",
"totalCases": 150,
"collectedAmount": 900000.00
},
{
"divisionId": "div_002",
"divisionName": "North Region",
"totalCases": 75,
"collectedAmount": 450000.00
}
],
"totals": {
"totalCases": 225,
"collectedAmount": 1350000.00
}
}
Division Comparison
Compare performance across divisions:
Endpoint: GET /api/divisions/comparison
{
"divisions": ["div_001", "div_002", "div_003"],
"metrics": ["collectionRate", "averageResolutionTime", "totalAmount"],
"period": {
"from": "2024-01-01",
"to": "2024-01-31"
},
"comparison": [
{
"divisionId": "div_001",
"collectionRate": 0.65,
"averageResolutionTime": 42,
"totalAmount": 1500000.00
},
{
"divisionId": "div_002",
"collectionRate": 0.58,
"averageResolutionTime": 48,
"totalAmount": 750000.00
}
]
}
Cost Allocation
Division Budgets
Set and monitor division budgets:
Endpoint: PUT /api/divisions/{divisionId}/budget
{
"fiscalYear": 2024,
"budget": {
"collectionCosts": 100000.00,
"partnerFees": 150000.00,
"legalCosts": 50000.00
},
"alerts": {
"warningThreshold": 0.80,
"criticalThreshold": 0.95
}
}
Cost Tracking
Monitor division costs:
Endpoint: GET /api/divisions/{divisionId}/costs
{
"divisionId": "div_001",
"period": {
"from": "2024-01-01",
"to": "2024-01-31"
},
"costs": {
"collectionCosts": 8500.00,
"partnerFees": 12000.00,
"legalCosts": 3500.00,
"total": 24000.00
},
"budgetUtilization": 0.24
}
Integration Patterns
ERP Integration
Sync divisions with ERP departments:
{
"erpIntegration": {
"enabled": true,
"erpSystem": "SAP",
"divisionMapping": [
{
"divisionId": "div_001",
"erpDepartmentCode": "DEPT-100",
"costCenter": "CC-SALES"
}
],
"syncFrequency": "daily"
}
}
Multi-tenant Applications
Support multiple organizations:
{
"organizationId": "org_001",
"divisions": [
{
"divisionId": "div_001",
"tenantId": "tenant_a",
"isolationLevel": "strict"
}
]
}
Best Practices
Division Structure
- Logical grouping: Create divisions based on business needs
- Flat hierarchy: Keep division structure as flat as possible
- Clear naming: Use descriptive division names and codes
- Document purpose: Document division purpose and scope
- Regular review: Periodically review division structure
Permissions
- Principle of least privilege: Grant minimum required permissions
- Role-based access: Use roles instead of individual permissions
- Regular audits: Review user permissions regularly
- Separation of duties: Separate case creation and approval
- Access logging: Log all permission changes
Reporting
- Consistent metrics: Use same metrics across divisions
- Regular reports: Generate division reports regularly
- Benchmark performance: Compare divisions fairly
- Share insights: Share best practices across divisions
- Actionable data: Focus on metrics that drive action
Code Examples
Node.js - Create Division
// Create new division
async function createDivision(divisionData) {
const response = await fetch(
'https://api.debitura.com/api/divisions',
{
method: 'POST',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(divisionData)
}
);
return response.json();
}
C# - Get Division Statistics
// Get division performance statistics
public async Task<DivisionStatistics> GetDivisionStats(
string divisionId,
DateTime from,
DateTime to)
{
var query = $"?dateFrom={from:yyyy-MM-dd}&dateTo={to:yyyy-MM-dd}";
var response = await _httpClient.GetFromJsonAsync<DivisionStatistics>(
$"https://api.debitura.com/api/divisions/{divisionId}/statistics{query}"
);
return response;
}
Related Resources
Division management requires appropriate administrative permissions. Contact your account manager to enable division features.