Table of Contents

Advanced features provide powerful capabilities for experienced users and larger organizations. These features require proper setup and training to use effectively.

Note

Some advanced features require specific license levels. Contact walter75 Consulting for licensing information.

Workflow automation

Approval workflows

Configure multi-level approval processes:

Setup approval workflows

  1. Choose the icon
  2. Enter Workflows and choose the related link
  3. Choose New > New Workflow from Template
  4. Select BC Doc Test Document Approval Workflow
  5. Customize the workflow steps:
graph TD
    A[Document Created] --> B{Amount Check}
    B -->|< $1000| C[Auto-Approve]
    B -->|>= $1000| D[Manager Approval]
    D -->|Approved| E[Finance Approval]
    D -->|Rejected| F[Return to Sender]
    E -->|Approved| G[Post Document]
    E -->|Rejected| F

Approval hierarchy

Define approval limits:

User Role Approval Limit Next Approver
Department Manager $10,000 Director
Director $50,000 VP
VP $250,000 CFO
CFO Unlimited -
Note

Approval workflows are configured per company. Each company in your environment needs separate workflow setup.

Scheduled batch jobs

Automate recurring tasks with batch jobs:

Create a scheduled job

  1. Navigate to Job Queue Entries
  2. Choose New
  3. Configure the job:
Field Description Example
Object Type Type of object to run Codeunit
Object ID ID of the object 50000
Earliest Start Date/Time When to first run 01/01/2026 06:00
Recurring Job Repeat automatically Yes
Recurrence How often to repeat Daily

Common scheduled tasks

  • Document archiving: Archive old documents automatically
  • Report generation: Generate reports overnight
  • Data synchronization: Sync with external systems
  • Cleanup routines: Remove obsolete data
// Example batch job codeunit
codeunit 50000 "BC Doc Batch Processor"
{
    TableNo = "Job Queue Entry";
    
    trigger OnRun()
    var
        BCDocDocument: Record "BC Doc Test Document";
    begin
        // Process all pending documents
        BCDocDocument.SetRange(Status, BCDocDocument.Status::Pending);
        if BCDocDocument.FindSet() then
            repeat
                ProcessDocument(BCDocDocument);
            until BCDocDocument.Next() = 0;
    end;
}

Advanced reporting

Power BI integration

Connect to Power BI for advanced analytics:

Setup Power BI connection

  1. Open BC Doc Test Setup
  2. Choose Power BI Settings
  3. Choose Connect to Power BI
  4. Sign in with your Microsoft 365 account
  5. Select workspace for reports

Available Power BI reports

  • Executive Dashboard: High-level KPIs and trends
  • Document Analysis: Detailed document metrics
  • Customer Insights: Customer behavior patterns
  • Performance Metrics: System usage statistics

Power BI executive dashboard showing key metrics

Custom report builder

Create custom reports without coding:

  1. Navigate to Report Builder
  2. Choose New Report
  3. Use the visual designer:
    • Drag fields from data sources
    • Add grouping and sorting
    • Configure calculations
    • Design layout
  4. Save and run your report

Excel data analysis

Export data for analysis in Excel:

  1. Open any list page
  2. Choose Open in Excel
  3. The list opens in Excel with a live connection
  4. Make changes in Excel
  5. Choose Publish to update Business Central
Tip

Use Excel pivot tables to analyze large datasets without impacting Business Central performance.

API integration

REST API access

Access BC Doc Test App data via REST API:

API authentication

POST https://api.businesscentral.dynamics.com/v2.0/{tenant}/Production/api/v1.0/
Authorization: Bearer {token}
Content-Type: application/json

Example API requests

Get documents:

GET /companies({companyId})/bcDocTestDocuments

Create document:

POST /companies({companyId})/bcDocTestDocuments
Content-Type: application/json

{
  "number": "",
  "customerNumber": "C-10000",
  "documentType": "Order",
  "date": "2026-01-01"
}

Update document:

PATCH /companies({companyId})/bcDocTestDocuments({documentId})
Content-Type: application/json

{
  "description": "Updated description"
}
Warning

API rate limits apply: 6000 requests per 5 minutes per user. Exceeding limits results in temporary throttling.

Webhook notifications

Receive real-time notifications of changes:

Setup webhooks

  1. Register your webhook endpoint
  2. Subscribe to events:
    • Document created
    • Document modified
    • Document posted
    • Document deleted
  3. Receive JSON payloads when events occur

Example webhook payload:

{
  "eventType": "documentCreated",
  "timestamp": "2026-01-01T10:30:00Z",
  "documentId": "DOC-0001",
  "companyId": "company-guid",
  "data": {
    "number": "DOC-0001",
    "customerNumber": "C-10000",
    "amount": 1500.00
  }
}

AI-powered features

Intelligent suggestions

AI analyzes patterns and provides suggestions:

  • Predicted customers: Suggests likely customers for new documents
  • Smart pricing: Recommends optimal pricing based on history
  • Fraud detection: Identifies potentially fraudulent documents
  • Process optimization: Suggests workflow improvements

Natural language queries

Query data using natural language:

  1. Open the AI Assistant panel
  2. Type your question:
    • "Show me all documents from last month"
    • "Which customer has the highest average order value?"
    • "Find documents pending approval"
  3. View results immediately

AI Assistant answering a natural language query

Important

AI features require the Enterprise license and are subject to data residency requirements.

Advanced customization

Custom fields and tables

Extend the data model:

Add custom fields

  1. Open Extension Management
  2. Choose Customize > Add Fields
  3. Select table: BC Doc Test Document
  4. Add field:
    • Name: Custom Reference
    • Type: Text[50]
    • Caption: Reference Number
  5. Save customization

Create custom tables

For complex customizations:

table 50001 "BC Doc Custom Data"
{
    DataClassification = CustomerContent;
    
    fields
    {
        field(1; "Document No."; Code[20])
        {
            DataClassification = CustomerContent;
            TableRelation = "BC Doc Test Document";
        }
        field(2; "Custom Value"; Text[100])
        {
            DataClassification = CustomerContent;
        }
    }
    
    keys
    {
        key(PK; "Document No.")
        {
            Clustered = true;
        }
    }
}

Event subscribers

Extend functionality without modifying base code:

codeunit 50002 "BC Doc Event Handlers"
{
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"BC Doc Management", 'OnAfterPostDocument', '', false, false)]
    local procedure OnAfterPostDocument(var BCDocDocument: Record "BC Doc Test Document")
    begin
        // Custom logic after posting
        SendNotificationEmail(BCDocDocument);
        UpdateExternalSystem(BCDocDocument);
    end;
    
    [EventSubscriber(ObjectType::Table, Database::"BC Doc Test Document", 'OnBeforeInsert', '', false, false)]
    local procedure OnBeforeInsertDocument(var BCDocDocument: Record "BC Doc Test Document")
    begin
        // Custom validation before insert
        if BCDocDocument."Customer No." = '' then
            Error('Customer is required');
    end;
}

Data management

Bulk operations

Process multiple records efficiently:

Batch posting

  1. Navigate to BC Doc Test Documents
  2. Use filters to select documents to post
  3. Choose Actions > Posting > Post Batch
  4. Configure options:
    • [ ] Validate before posting
    • [ ] Stop on first error
    • [ ] Generate posting report
  5. Choose OK to start

Data import/export

Import and export data in various formats:

Format Import Export Use Case
Excel Data analysis, bulk updates
CSV Integration with other systems
JSON API integration
XML EDI and legacy systems

Archive management

Automatically archive old documents:

Configure archiving

  1. Open BC Doc Test Setup
  2. Navigate to Archive Settings
  3. Configure:
Setting Recommended Value
Archive Posted Documents Yes
Days Before Archive 365
Delete After Archive Optional
Compress Archives Yes

Manual archiving

Archive specific documents:

  1. Select documents to archive
  2. Choose Actions > Archive
  3. Archived documents are moved to BC Doc Test Archives

Security and audit

Advanced audit logging

Comprehensive audit trails:

  • Field-level tracking: Log every field change
  • User attribution: Record who made changes
  • Timestamp tracking: Exact date and time of changes
  • Before/after values: See what changed
  • Reason codes: Require justification for changes

Data encryption

Protect sensitive data:

procedure EncryptSensitiveData(var BCDocDocument: Record "BC Doc Test Document")
begin
    if BCDocDocument."Credit Card No." <> '' then
        BCDocDocument."Credit Card No." := EncryptionMgt.Encrypt(BCDocDocument."Credit Card No.");
end;

Encrypted fields:

  • Credit card numbers
  • Bank account information
  • Personal identification numbers
  • Confidential notes

Compliance reports

Generate compliance documentation:

Report Purpose Schedule
Audit Trail Report SOX compliance Quarterly
Data Access Log GDPR compliance Monthly
Change Report Internal audit Monthly
Security Report Security review Monthly

Performance optimization

Caching

Improve performance with intelligent caching:

  • Query results: Cache frequently accessed data
  • Calculated fields: Store pre-calculated values
  • Report data: Cache report datasets
  • API responses: Cache API calls

Database optimization

Optimize database performance:

  1. Add custom indexes for frequently filtered fields
  2. Implement pagination for large lists
  3. Use FlowFields for calculated values
  4. Optimize table relations to reduce joins
key(Performance; "Customer No.", Date)
{
    IncludedFields = Amount, "Remaining Amount";
}

Integration scenarios

Microsoft 365 integration

Deep integration with Microsoft 365:

  • Teams: Share documents in Teams channels
  • SharePoint: Store documents in SharePoint
  • OneDrive: Sync files to OneDrive
  • Outlook: Email documents from Outlook
  • Excel: Live connections to Excel

Power Platform integration

Build solutions with Power Platform:

  • Power Automate: Create automated workflows
  • Power Apps: Build mobile apps
  • Power BI: Advanced analytics
  • Dataverse: Sync data to Dataverse

Third-party integration

Connect to external systems:

  • Payment providers: Stripe, PayPal, etc.
  • Shipping carriers: UPS, FedEx, DHL
  • E-commerce platforms: Shopify, WooCommerce
  • CRM systems: Salesforce, HubSpot
Note

Integration support varies by plan. Contact walter75 Consulting to verify which integrations are available in your license.

See also