Skip to main content

Manual Reporting:

Manual report generation with API integration

Overview

Manual reporting allows you to create compliance reports by uploading CSV files or selecting transactions from Transaction Monitoring. You can generate reports for specific transactions without setting up automated rules, making it ideal for ad-hoc reporting needs.

Prerequisites

Before you begin with manual reporting, ensure you have:
  1. Active Sigma Account: A registered and verified Sigma account with reporting permissions
  2. Business Profile Setup: Your business profile must be configured with:
    • Valid business information and regulatory licenses
    • Compliance officer details and contact information
    • Regulatory reporting requirements for your jurisdiction
  3. Reporting Configuration: Set up your reporting entities and agents in Reporting → Preferences
Two Methods Available: You can create manual reports by uploading CSV files or by selecting transactions from Transaction Monitoring (if enabled).

Report Creation Methods

Method 1: Upload CSV File

  1. Navigate to Reports: Go to Reporting → All Reports
  2. Create New Report: Click Create New RuleNFIU ReportManual Transaction Report (CTR, FTR, STR)Upload CSV
  3. Choose Report Type: Select CTR, FTR, or STR based on your requirements
  4. Upload Transaction Data: Upload your CSV file with transaction details
  5. Configure Report: Set filing name, reporting agent, and entity
  6. Review and Generate: Verify details and create the report

Method 2: Select from Transaction Monitoring

  1. Navigate to Reports: Go to Reporting → All Reports
  2. Create New Report: Click Create New RuleNFIU ReportManual Transaction Report (CTR, FTR, STR)Select Transactions
  3. Choose Transactions: Select specific transactions from your Transaction Monitoring data
  4. Configure Report: Set filing name, reporting agent, and entity
  5. Review and Generate: Verify details and create the report

Method 3: Create SAR Report

  1. Navigate to Reports: Go to Reporting → All Reports
  2. Create SAR Report: Click Create New RuleNFIU ReportSuspicious Activity Report (SAR)
  3. Enter Activity Details: Provide suspicious activity information and parties involved
  4. Configure Report: Set filing name, reporting agent, and entity
  5. Review and Generate: Verify details and create the report

Data Format Requirements

CSV Upload Format

For bulk transaction uploads, use this CSV structure:
transactionNumber,transactionDate,transactionMode,type,amount,narration,senderCountry,senderFundsCode,senderInstitution,senderAccount,receiverCountry,receiverFundsCode,receiverInstitution,receiverAccount
TXN-001,2025-01-15T14:30:00.000Z,C,TRANS,5750000,personal,NG,K,Access Bank Plc,012345,NG,K,Bank PHB Plc,067890
Field Descriptions:
  • transactionMode: A (In-branch), B (ATM), C (Electronic), O (Other)
  • type: DEPS (Deposit), WTHD (Withdrawal), TRANS (Transfer)
  • fundsCode: K (Cash), C (Currency exchange), E (Bank draft), etc.

Optional: API Integration for CSV Data Enrichment

If you’re uploading CSV files and want Sigma to automatically fetch additional transaction details from your system, you can configure API integration:

Setup API Connection

  1. Navigate to Configuration: Go to Reporting → Preferences
  2. Configure API Connection: Set up your endpoint details:
    • Base URL: Your API endpoint base URL
    • Authentication: Bearer token or API key
    • Headers: Additional headers if required

API Response Format

When Sigma processes your CSV, it will call your API to get detailed transaction information:
// Sigma will call your endpoint like this:
GET https://api.example.com/transactions?transactionId=12345,67890,54321

// Your API should respond with:
{
  "data": [
    {
      "transactionNumber": "TXN-001",
      "transactionDate": "2025-01-15T14:30:00.000Z",
      "transactionMode": "Electronic transaction",
      "type": "TRANS",
      "amount": 5750000,
      "narration": "Business transfer",
      "sender": {
        "country": "NG",
        "fundsCode": "cash",
        "account": {
          "institutionName": "Access Bank Plc",
          "institutionCode": 21222,
          "accountNumber": "0123456789"
        }
      },
      "receiver": {
        "country": "NG", 
        "fundsCode": "cash",
        "account": {
          "institutionName": "Bank PHB Plc",
          "institutionCode": 129393,
          "accountNumber": "0987654321"
        }
      }
    }
  ]
}

Data Format Requirements

Transaction Data Structure

{
  "transactionNumber": "string",
  "transactionDate": "ISO 8601 datetime",
  "transactionMode": "string", // A (In-branch), B (ATM), C (Electronic), O (Other)
  "type": "string", // DEPS (Deposit), WTHD (Withdrawal), TRANS (Transfer)
  "amount": "number",
  "narration": "string",
  "senderCountry": "string", // ISO country code
  "senderFundsCode": "string", // K (Cash), C (Currency exchange), E (Bank draft)
  "senderInstitution": "string",
  "senderAccount": "string",
  "receiverCountry": "string",
  "receiverFundsCode": "string",
  "receiverInstitution": "string",
  "receiverAccount": "string"
}

Authentication

API Key Setup

  1. Navigate to Account → API & Webhooks in your Sigma dashboard
  2. Click Generate New API Key
  3. Select Reporting Permissions
  4. Copy and securely store your API key

Request Headers

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Best Practices

Data Accuracy: Ensure all transaction data is accurate and complete before submission. Incorrect data can lead to regulatory compliance issues.
Batch Processing: Use batch submission for multiple transactions to improve efficiency and maintain data consistency.
  1. Validate Data: Always validate transaction data before creating reports
  2. Document Process: Maintain detailed records of manual reporting activities
  3. Regular Backups: Keep backups of transaction data and generated reports
  4. Access Control: Limit manual reporting access to authorized personnel only
  5. Audit Trail: Maintain complete audit trails for all manual reporting activities

Error Handling

Common Error Codes

  • 400 Bad Request: Invalid request format or missing required fields
  • 401 Unauthorized: Invalid or missing API key
  • 403 Forbidden: Insufficient permissions
  • 422 Unprocessable Entity: Validation errors in submitted data

Error Response Format

{
  "status": "error",
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid transaction data",
    "details": [
      {
        "field": "amount",
        "message": "Amount must be a positive number"
      }
    ]
  }
}

Testing

Use the staging environment for testing:
BASE_URL=https://api-staging.sigma.pastel.africa
Start with Test Data: Always begin with test or sample data to familiarize yourself with the manual reporting process before processing live transactions.
I