Skip to main content

BotsKYC Document Types Configuration

This document lists all supported document types for KYC verification in the BotsKYC system.

Overview

The system supports 11 document types divided into Personal KYC and Corporate KYC categories.


Personal KYC Documents

1. BOTSWANA_ID_CARD

Description: National identification card issued by Botswana government

Typical Use Case: Personal identity verification, age verification, citizenship confirmation

Required Fields:

  • idNumber - National ID number
  • fullName - Full legal name
  • dateOfBirth - Date of birth
  • gender - Gender
  • nationality - Nationality (typically Botswana)
  • dateOfIssue - Date the ID was issued
  • expiryDate - Expiration date
  • placeOfBirth - Place of birth

2. PROOF_OF_ADDRESS

Description: Document verifying residential address (utility bills, bank statements, lease agreements)

Typical Use Case: Residential address verification, compliance with KYC regulations

Required Fields:

  • fullName - Name of resident
  • address - Full residential address
  • issueDate - Date of document issue
  • documentType - Type of proof (utility bill, bank statement, lease, etc.)
  • issuerName - Name of issuing organization

3. CONFIRMATION_OF_EMPLOYMENT

Description: Official letter from employer confirming employment status

Typical Use Case: Income verification for credit applications, employment status confirmation

Required Fields:

  • employeeName - Full name of employee
  • employeeId - Employee identification number
  • position - Job title/position
  • employerName - Name of employer
  • dateOfEmployment - Start date of employment
  • employmentType - Type of employment (permanent, contract, temporary)
  • salary - Salary amount and frequency
  • issueDate - Date letter was issued
  • signatoryName - Name of person signing the letter
  • signatoryTitle - Title of signatory

4. EMPLOYMENT_LETTER

Description: Formal employment letter issued by Company Secretary or Consultancy (differs from standard confirmation)

Typical Use Case: Corporate employment verification, consultancy assignments, executive appointments

Required Fields:

  • employeeName - Full name of employee/consultant
  • issuerName - Company Secretary or Consultancy name
  • companyName - Name of employing company
  • position - Job title/role
  • dateOfAppointment - Start date
  • contractType - Employment contract type
  • remunerationDetails - Compensation details
  • issueDate - Date letter was issued
  • companyRegistrationNumber - Company registration number
  • signatoryName - Name of Company Secretary/authorized signatory
  • officialStamp - Presence of company stamp (boolean)

5. PAYSLIP

Description: Monthly salary statement from employer

Typical Use Case: Income verification, employment confirmation, credit assessment

Required Fields:

  • employeeName - Name of employee
  • employeeId - Employee number
  • employerName - Name of employer
  • payPeriod - Pay period (e.g., "January 2024")
  • payDate - Date of payment
  • grossSalary - Total salary before deductions
  • netSalary - Take-home pay after deductions
  • deductions - List of deductions (tax, pension, etc.)
  • taxAmount - Total tax deducted
  • pensionContribution - Pension/retirement contribution

6. BANK_STATEMENT

Description: Official bank account statement showing transactions

Typical Use Case: Financial verification, transaction history analysis, fraud detection

Required Fields:

  • accountHolderName - Name of account holder
  • accountNumber - Bank account number
  • bankName - Name of bank
  • statementPeriod - Statement period (e.g., "01 Jan 2024 - 31 Jan 2024")
  • openingBalance - Balance at start of period
  • closingBalance - Balance at end of period
  • transactions - List of transactions
  • currency - Currency (e.g., BWP, USD)

Corporate KYC Documents

7. CERTIFICATE_OF_INCORPORATION

Description: Official certificate issued by company registry confirming company formation

Typical Use Case: Company identity verification, legal entity confirmation, business account opening

Required Fields:

  • companyName - Registered company name
  • registrationNumber - Company registration number
  • incorporationDate - Date company was incorporated
  • registeredAddress - Registered office address
  • companyType - Type of company (Pty Ltd, Ltd, etc.)
  • authorizedCapital - Authorized share capital
  • directors - List of initial directors
  • registrar - Name of company registrar/authority
  • certificateNumber - Certificate reference number

8. SHARE_CERTIFICATE

Description: Certificate evidencing ownership of shares in a company

Typical Use Case: Ownership verification, shareholder identification, beneficial ownership analysis

Required Fields:

  • companyName - Name of company issuing shares
  • companyRegistrationNumber - Company registration number
  • certificateNumber - Share certificate number
  • shareholderName - Name of shareholder
  • shareQuantity - Number of shares
  • shareClass - Class of shares (ordinary, preference, etc.)
  • nominalValue - Par/nominal value per share
  • issueDate - Date certificate was issued
  • transferRestrictions - Any restrictions on transfer
  • signatories - Names and titles of signatories

9. COMPANY_EXTRACT

Description: Official extract from company registry showing current company details

Typical Use Case: Company status verification, directorship confirmation, registered details validation

Required Fields:

  • companyName - Registered company name
  • registrationNumber - Company registration number
  • companyStatus - Current status (Active, Dormant, In Liquidation, etc.)
  • incorporationDate - Date of incorporation
  • registeredAddress - Current registered address
  • directors - Current list of directors with appointment dates
  • shareholders - List of shareholders (if disclosed)
  • businessActivities - Nature of business
  • authorizedCapital - Authorized share capital
  • issuedCapital - Issued share capital
  • extractDate - Date extract was generated
  • registrarStamp - Official stamp/seal

10. BOARD_MEETING_MINUTES

Description: Official record of board of directors meeting decisions and resolutions

Typical Use Case: Corporate governance verification, authorized signatory confirmation, resolution validation

Required Fields:

  • companyName - Name of company
  • companyRegistrationNumber - Company registration number
  • meetingDate - Date of board meeting
  • meetingTime - Time meeting started
  • meetingLocation - Location/venue of meeting (or "Virtual")
  • attendees - List of directors present
  • absentees - Directors absent (with apologies noted)
  • chairperson - Name of meeting chairperson
  • agenda - Meeting agenda items
  • resolutions - List of resolutions passed
  • decisions - Key decisions made
  • votingRecords - Voting results for each resolution
  • actionItems - Action items assigned
  • signatories - Signatures of chairperson and secretary
  • minutesTakerName - Name of person recording minutes
  • approvalDate - Date minutes were approved

Fallback Category

11. OTHER

Description: Documents that don't fit into the defined categories

Typical Use Case: Unknown document types, custom documents, documents requiring manual review

Required Fields:

  • documentDescription - Brief description of what the document appears to be
  • identifiedText - Key text extracted from document
  • possibleType - Suggested document type if partially identifiable

API Usage

All document types can be processed through the following endpoints:

Main Endpoints

  • POST /api/kyc/analyze/identity — Identity documents (e.g., national ID, passport, driver’s license)
  • POST /api/kyc/analyze/address — Proof of address (e.g., utility bills, bank statements, lease agreements)
  • POST /api/kyc/analyze/income — Proof of income (e.g., payslips, bank statements, employment letters)
  • POST /api/kyc/analyze/entity — Entity/corporate documents
  • POST /api/kyc/analyze/compliance — Compliance documents
  • POST /api/kyc/analyze/multipurpose — Multi-purpose document intake
  • POST /api/kyc/analyze/auto — Auto-detects document type and routes accordingly

Processing

  • Intelligent classification and extraction
  • Multi-format support: separate files, PDFs, combined images
  • Designed for efficient token usage and low latency

Multi-Document Support

All endpoints support:

  • Single file upload (backward compatible)
  • Multiple file upload (batch processing)
  • Mixed document types in single request

Response includes:

  • Array of identified documents with type, confidence, and extracted fields
  • Summary statistics: unique types, average confidence, total pages
  • Processing metadata: total time, provider used

Field Extraction Status

Full Extraction Support

  • BOTSWANA_ID_CARD
  • PROOF_OF_ADDRESS
  • CONFIRMATION_OF_EMPLOYMENT
  • PAYSLIP
  • BANK_STATEMENT

🔄 Partial Extraction Support

  • EMPLOYMENT_LETTER (classification only, extraction logic in progress)
  • CERTIFICATE_OF_INCORPORATION (classification only, extraction logic in progress)
  • SHARE_CERTIFICATE (classification only, extraction logic in progress)
  • COMPANY_EXTRACT (classification only, extraction logic in progress)
  • BOARD_MEETING_MINUTES (classification only, extraction logic in progress)

⚠ Basic Support

  • OTHER (classification only, minimal extraction)

Notes

This page describes inputs and outputs only. Implementation details and internal components are intentionally omitted from public documentation.


Last Updated: 2024-11-08
Version: 2.0
Total Document Types: 11 (6 Personal, 5 Corporate)