/Distribution/Declare
When to Use
- Standard Distributions: Declare income and capital gains distributions to all eligible investors by omitting all account arrays
- Custom Calculated Distributions: Use
preCalculatedAccounts
when you've performed your own distribution calculations and want 7G to store your exact amounts without recalculation - Selective Distributions: Use
includeAccounts
to process distributions for specific investor groups (e.g., high-value accounts, specific entity types, strategic investors) - Exclusion-Based Distributions: Use
excludeAccounts
to exclude specific accounts from standard distribution processing (e.g., suspended accounts, pending verification, regulatory holds) - Tax Component Processing: Process tax-deferred distribution components with franking credits and AMIT attribution distributions with tax flow-through
- DRP/DRIP Preparation: Prepare distribution reinvestment plan (DRP) calculations for accounts participating in reinvestment programs
Prerequisites
- Distribution record must exist with complete tax components
- Tax components must total exactly 100%
- Current unit holdings available for record date calculations
Important Considerations
⚠️ Critical Implementation Notes
- Declaration Irreversibility: Once declared, distribution calculations become permanent and cannot be modified via API (admin portal modification only) - ensure all parameters are validated before execution
- Account Array Mutual Exclusivity: If specifying accounts, only of the optional account arrays should contain values. Using multiple arrays will trigger a validation error
- Pre-Calculated Amounts Authority: When using preCalculatedAccounts, 7G stores your exact values without validation or recalculation - ensure accuracy as these become the authoritative distribution amounts
- Foreign Investor Withholding: Non-resident investors trigger automatic withholding tax calculations based on tax treaty provisions and local tax rates
Description
Declares a created distribution, locking eligible investors as of the record date and calculating individual distribution amounts. This endpoint transforms distribution parameters into specific account-level records, preparing for payment processing. Declaration is irreversible and establishes the final investor entitlements.
Account Array Options - Mutually Exclusive
Control which accounts receive distributions by using one of three mutually exclusive arrays:
- No arrays (all empty/null): Standard distribution - 7G will calculate and process distributions for all eligible accounts.
- preCalculatedAccounts: Provide your own pre-calculated distribution amounts when you have performed custom calculations. 7G will store your exact values without recalculation.
- includeAccounts: Specify which accounts should receive distributions. 7G will calculate amounts for only these accounts based on the distribution parameters.
- excludeAccounts: Specify which accounts should NOT receive distributions. 7G will calculate amounts for all eligible accounts except these.
⚠️ Important: If specifying accounts, only ONE array can have values. If multiple arrays contain data, the API will return a validation error.
Distribution Workflow - Step 2 of 4
- Create: Define distribution parameters, tax components, and DRP settings
- Declare: Lock eligible investors, calculate amounts, select accounts (this endpoint, optional - preCalculatedAccounts/includeAccounts/excludeAccounts)
- Distribute: Process payments to investors
- Allotment: Execute DRP unit allocation (optional, only if applicable)
⚠️ Critical: Declaration is Permanent
Once declared, the distribution cannot be modified using the API, it can be modified using the admin portal. Ensure all parameters, tax components, and business rules are validated before execution.
Required Headers - See Authentication
Header | Value | Description |
---|---|---|
Content-Type | application/json | Request content type |
Authorization | {accessToken} | Bearer token for API access |
Version | 2.0 | API version identifier |
Request Body
Parameter | Type | Required | Description |
---|---|---|---|
ProductID |
integer | Required |
Native 7G product identifier for declaration validation and permission checks. |
externalProductId |
string | Optional |
Client-supplied product reference (alternative to productID). |
CorporateActionID |
integer | Required |
Native 7G distribution identifier targeting declaration and processing. |
externalCorporateActionId |
string | Optional |
Client-supplied distribution reference (alternative to corporateActionID). |
overrideDate |
string (date) | Optional |
Declaration execution date override (defaults to current system date). |
comment |
string | Optional |
Declaration comment for audit trail and business records. |
runDistribution |
boolean | Required |
Auto-execute distribution after declaration (true=single-step, false=standard workflow). |
preCalculatedAccounts |
>
List<PreCalculatedAccountDTO>... |
Array of pre-calculated distribution amounts for specific accounts. Use when you have performed custom distribution calculations and want 7G to store your exact values without recalculation. | |
includeAccounts |
>
List<DistributionAccountDTO>... |
Array of specific accounts to include in distribution processing. 7G will calculate distribution amounts for only these accounts based on the distribution parameters. | |
excludeAccounts |
>
List<DistributionAccountDTO>... |
Array of specific accounts to exclude from distribution processing. 7G will calculate distribution amounts for all eligible accounts except these. |
Example Requests
{
"productID": 100,
"externalProductId": "PROD-001",
"corporateActionID": 12346,
"externalCorporateActionId": "DIST-2024-Q2",
"overrideDate": "2024-07-20",
"comment": "Q2 2024 distribution declaration",
"runDistribution": false,
"preCalculatedAccounts": [
{
"accountID": 123456,
"accountNumber": "ACC-001",
"bizEntityID": 789,
"bizEntityName": "Smith Family Trust",
"holding": 1000.50,
"bizEventTypeID": 5,
"amount": 125.00,
"grossAmount": 127.50,
"bizEventID": 45678,
"quantityDays": 90,
"quantityDaysLeapYear": 90,
"drpPercentage": 100.0,
"latestNonZeroHolding": 1000.50,
"ordinal": 1
}
],
"includeAccounts": [
{
"corporateActionID": 12346,
"externalCorporateActionId": "DIST-2024-Q2",
"productID": 100,
"externalProductId": "PROD-001",
"accountID": 123456,
"externalAccountId": "ACC-001",
"accountNumber": "ACC-123456",
"bizEntityName": "Smith Family Trust"
}
],
"excludeAccounts": [
{
"corporateActionID": 12346,
"externalCorporateActionId": "DIST-2024-Q2",
"productID": 100,
"externalProductId": "PROD-001",
"accountID": 789012,
"externalAccountId": "ACC-999",
"accountNumber": "ACC-789012",
"bizEntityName": "Pending Verification Account"
}
]
}
Response Examples
{
"result": true,
"message": "Distribution declared successfully",
"recordCount": 1,
"data": null
}