prebuilt.company_researcher.models¶

Classes¶

ComplianceDocumentation

Comprehensive compliance documentation tracking.

ComplianceRiskFactor

Detailed compliance risk factors.

CustomerRiskProfile

Comprehensive customer risk profile.

EnhancedDueDiligenceRequirement

Triggers for Enhanced Due Diligence.

EnhancedKYCCustomerProfile

Comprehensive and enhanced KYC customer profile.

GeographicRiskProfile

Geographic risk assessment categories.

IdentityVerificationLevel

Levels of identity verification.

OwnershipStructure

Detailed ownership and control information.

ProhibitedActivity

Comprehensive list of prohibited activities based on Corpay's risk appetite.

RestrictedIndustry

Industries requiring enhanced due diligence.

Module Contents¶

class prebuilt.company_researcher.models.ComplianceDocumentation(/, **data: Any)¶

Bases: pydantic.BaseModel

Comprehensive compliance documentation tracking.

document_expiration_dates: dict[str, datetime.datetime] = None¶
missing_documents: list[str] = None¶
verification_history: list[dict[str, Any]] = None¶
verified_documents: dict[str, bool] = None¶
class prebuilt.company_researcher.models.ComplianceRiskFactor¶

Bases: str, enum.Enum

Detailed compliance risk factors.

CASH_TRANSACTIONS = 'high_volume_cash_transactions'¶
COMPLEX_CORPORATE_STRUCTURE = 'complex_corporate_structure'¶
INTERNATIONAL_PRESENCE = 'high_risk_international_operations'¶
OWNERSHIP_TRANSPARENCY = 'lack_of_beneficial_ownership_transparency'¶
REGULATORY_HISTORY = 'previous_regulatory_violations'¶
SANCTIONS_EXPOSURE = 'sanctions_list_exposure'¶
UNUSUAL_TRANSACTION_PATTERNS = 'unusual_transaction_patterns'¶
class prebuilt.company_researcher.models.CustomerRiskProfile(/, **data: Any)¶

Bases: pydantic.BaseModel

Comprehensive customer risk profile.

classmethod calculate_risk_score(v, values)¶

Dynamically calculate risk score based on identified risk factors.

compliance_risk_factors: list[ComplianceRiskFactor] = None¶
edd_requirements: list[EnhancedDueDiligenceRequirement] = None¶
geographic_risks: dict[str, GeographicRiskProfile] = None¶
overall_risk_score: float = None¶
prohibited_activities: list[ProhibitedActivity] = None¶
restricted_industries: list[RestrictedIndustry] = None¶
class prebuilt.company_researcher.models.EnhancedDueDiligenceRequirement¶

Bases: str, enum.Enum

Triggers for Enhanced Due Diligence.

COMPLEX_OWNERSHIP = 'complex_ownership_structure'¶
HIGH_RISK_INDUSTRY = 'high_risk_industry'¶
INTERNATIONAL_OPERATIONS = 'cross_border_operations'¶
PEP_ASSOCIATION = 'politically_exposed_person'¶
PREVIOUS_ISSUES = 'history_of_compliance_issues'¶
UNUSUAL_ACTIVITY = 'unusual_transaction_activity'¶
class prebuilt.company_researcher.models.EnhancedKYCCustomerProfile(/, **data: Any)¶

Bases: pydantic.BaseModel

Comprehensive and enhanced KYC customer profile. Combines multiple aspects of customer risk assessment

classmethod update_last_updated(v)¶

Always update last_updated when the model is modified.

classmethod validate_customer_profile(values)¶

Perform comprehensive validation of the customer profile.

additional_notes: str | None = None¶
business_name: str | None = None¶
compliance_docs: ComplianceDocumentation = None¶
created_at: datetime.datetime = None¶
customer_id: str = None¶
date_of_birth: datetime.datetime | None = None¶
full_name: str = None¶
identity_verification_level: IdentityVerificationLevel = None¶
last_updated: datetime.datetime = None¶
model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

nationality: str | None = None¶
ownership: OwnershipStructure | None = None¶
risk_profile: CustomerRiskProfile = None¶
class prebuilt.company_researcher.models.GeographicRiskProfile¶

Bases: str, enum.Enum

Geographic risk assessment categories.

HIGH_RISK = 'high_risk_jurisdiction'¶
LOW_RISK = 'low_risk_jurisdiction'¶
MEDIUM_RISK = 'medium_risk_jurisdiction'¶
SANCTIONED = 'sanctioned_jurisdiction'¶
class prebuilt.company_researcher.models.IdentityVerificationLevel¶

Bases: str, enum.Enum

Levels of identity verification.

BASIC = 'basic_verification'¶
COMPREHENSIVE = 'comprehensive_verification'¶
ENHANCED = 'enhanced_verification'¶
NONE = 'no_verification'¶
STANDARD = 'standard_verification'¶
class prebuilt.company_researcher.models.OwnershipStructure(/, **data: Any)¶

Bases: pydantic.BaseModel

Detailed ownership and control information.

control_mechanisms: list[str] = None¶
corporate_hierarchy: dict[str, Any] | None = None¶
ownership_percentage: dict[str, float] = None¶
ultimate_beneficial_owners: list[dict[str, Any]] = None¶
class prebuilt.company_researcher.models.ProhibitedActivity¶

Bases: str, enum.Enum

Comprehensive list of prohibited activities based on Corpay’s risk appetite.

ADULT_ENTERTAINMENT = 'adult_entertainment'¶
ANONYMOUS_ACCOUNTS = 'anonymous_numbered_accounts'¶
ARMS_MUNITIONS = 'arms_and_munitions_trade'¶
CASH_INTENSIVE = 'cash_intensive_business'¶
HIGH_VALUE_GOODS = 'high_value_luxury_goods'¶
HUMAN_EXPLOITATION = 'human_exploitation'¶
HUMAN_TRAFFICKING = 'human_trafficking'¶
MONEY_LAUNDERING = 'money_laundering'¶
MULTI_LEVEL_MARKETING = 'multi_level_marketing'¶
OFFSHORE_BANKING = 'offshore_banking'¶
SHELL_BANKING = 'shell_banking'¶
TAX_EVASION = 'tax_evasion'¶
TERRORISM_FINANCING = 'terrorism_financing'¶
UNAUTHORIZED_CRYPTO = 'unauthorized_cryptocurrency'¶
UNLAWFUL_DRUGS = 'unlawful_drug_trade'¶
UNLICENSED_GAMBLING = 'unlicensed_gambling'¶
UNREGISTERED_MSB = 'unregistered_money_services'¶
class prebuilt.company_researcher.models.RestrictedIndustry¶

Bases: str, enum.Enum

Industries requiring enhanced due diligence.

ARMS_DEFENSE = 'arms_and_defense'¶
CANNABIS = 'cannabis_related'¶
CHARITY_NPO = 'charities_non_profit'¶
FINANCIAL_SERVICES = 'financial_services'¶
GAMBLING = 'gambling'¶
GENERAL_TRADING = 'general_trading'¶
PAYMENT_PROCESSING = 'third_party_payment_processors'¶
POLITICALLY_EXPOSED = 'politically_exposed_persons'¶
TRAVEL_TOURISM = 'travel_and_tourism'¶
VEHICLE_DEALERS = 'used_vehicle_dealers'¶
VIRTUAL_ASSETS = 'virtual_asset_services'¶