Skip to main content

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

  1. Logical grouping: Create divisions based on business needs
  2. Flat hierarchy: Keep division structure as flat as possible
  3. Clear naming: Use descriptive division names and codes
  4. Document purpose: Document division purpose and scope
  5. Regular review: Periodically review division structure

Permissions

  1. Principle of least privilege: Grant minimum required permissions
  2. Role-based access: Use roles instead of individual permissions
  3. Regular audits: Review user permissions regularly
  4. Separation of duties: Separate case creation and approval
  5. Access logging: Log all permission changes

Reporting

  1. Consistent metrics: Use same metrics across divisions
  2. Regular reports: Generate division reports regularly
  3. Benchmark performance: Compare divisions fairly
  4. Share insights: Share best practices across divisions
  5. 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;
}

Division management requires appropriate administrative permissions. Contact your account manager to enable division features.