POST

/Document/Statement

Usage Notes

When

  • Generate investor statements with date ranges
  • Create reports scoped to specific entities or products

Requirements

  • statementTypeID required
  • Product scope (productID or externalProductId) and entity scope (bizEntityID or externalBizEntityId)

Notes

  • Date range parameters (fromDate, toDate) for period filtering
  • Transaction Statements return one statement per investment held, combined into a single PDF; narrow to one investment with investmentID, externalInvestmentId or securityCode
  • Optional excludeFilter omits investments with no movements (1) or no holdings (2) in the period
  • accountID / externalAccountId select a specific account when the BizEntity has more than one
  • The generated file is streamed back in the response body; it is not stored as a Document record

Description

Generates an investor statement from the product's statement template and streams the resulting file back in the response body (typically application/pdf). For Transaction Statements the response is a single PDF containing one statement per investment held by the account; excludeFilter trims that list, and investmentID, externalInvestmentId or securityCode narrows it to a single investment.

Required Headers - See Authentication

HeaderValueDescription
Content-Typeapplication/jsonRequest content type
Authorization{accessToken}Bearer token for API access
Version2.0API version identifier

Request Body

Parameter Type Required Description
statementTypeID >
integer
Statement type classification reference via common/lookup. Determines template selection, data inclusion, required fields, and validation logic for statement generation.
productID >
integer
The product identifier for statement generation. Required for all statement types. If ProductID > 0, it takes precedence over ExternalProductId.
externalProductId >
string
Your external product identifier. Required for all statement types when ProductID is not provided or equals 0.
investmentID
integer
Optional
The investment identifier to include in statement. Filter to specific investments within a product.
externalInvestmentId
string
Optional
Your external investment identifier. Alternative to investmentID for investment-specific statements.
securityCode
string
Optional
Investment security code — a third way to target a single investment, alongside investmentID and externalInvestmentId. SecurityCode is unique within a product, so supply productID or externalProductId with it.
corporateActionID >
integer
The corporate action identifier for distribution statement generation. Mandatory for distribution statements.
externalCorporateActionId >
string
Your external corporate action identifier. Required for distribution statements when CorporateActionID is not provided or equals 0.
bizEntityID >
integer
The business entity identifier for statement generation. Mandatory for all statement types.
externalBizEntityId >
string
Your external business entity identifier. Required for all statement types when BizEntityID is not provided or equals 0.
organisationID
integer
Optional
The organisation identifier to generate statement for. Filter to specific organisations.
externalOrganisationId
string
Optional
Your external organisation identifier. Alternative to organisationID for organisation-specific statements.
fromDate >
string (date)
Start date for transaction statement period in YYYY-MM-DD format. Mandatory for transaction statements.
toDate >
string (date)
End date for statement period in YYYY-MM-DD format. Mandatory for transaction and tax statements. Tax statements require valid financial year end date.
code
string
Optional
Statement reference code for identification and tracking purposes.
accountID
integer
Optional
Targets a specific account when the BizEntity holds more than one. Optional; when omitted the entity's account is resolved by the service.
externalAccountId
string
Optional
Your external account identifier. Alternative to accountID for targeting a specific account.
excludeFilter
integer (enum)
Optional
StatementExcludeFilters enum, sent as an integer: 0 = None (default, no filtering), 1 = NoMovementsInPeriod (omits investments with no transactions in the fromDate–toDate period), 2 = NoHoldingsInPeriod (omits investments not held at any point in the period). Applies to Transaction Statements.
separateStatementPerInvestment
boolean
Optional
Defaults to true: produces one statement per investment held, combined into a single returned PDF. Setting it to false returns 400 ("A combined statement across all investments is not yet supported."). Omit it or leave it true.
statementTypeID
integer
Statement type classification reference via common/lookup. Determines template selection, data inclusion, required fields, and validation logic for statement generation.
productID
integer
The product identifier for statement generation. Required for all statement types. If ProductID > 0, it takes precedence over ExternalProductId.
externalProductId
string
Your external product identifier. Required for all statement types when ProductID is not provided or equals 0.
investmentID
integer
Optional
The investment identifier to include in statement. Filter to specific investments within a product.
externalInvestmentId
string
Optional
Your external investment identifier. Alternative to investmentID for investment-specific statements.
securityCode
string
Optional
Investment security code — a third way to target a single investment, alongside investmentID and externalInvestmentId. SecurityCode is unique within a product, so supply productID or externalProductId with it.
corporateActionID
integer
The corporate action identifier for distribution statement generation. Mandatory for distribution statements.
externalCorporateActionId
string
Your external corporate action identifier. Required for distribution statements when CorporateActionID is not provided or equals 0.
bizEntityID
integer
The business entity identifier for statement generation. Mandatory for all statement types.
externalBizEntityId
string
Your external business entity identifier. Required for all statement types when BizEntityID is not provided or equals 0.
organisationID
integer
Optional
The organisation identifier to generate statement for. Filter to specific organisations.
externalOrganisationId
string
Optional
Your external organisation identifier. Alternative to organisationID for organisation-specific statements.
fromDate
string (date)
Start date for transaction statement period in YYYY-MM-DD format. Mandatory for transaction statements.
toDate
string (date)
End date for statement period in YYYY-MM-DD format. Mandatory for transaction and tax statements. Tax statements require valid financial year end date.
code
string
Optional
Statement reference code for identification and tracking purposes.
accountID
integer
Optional
Targets a specific account when the BizEntity holds more than one. Optional; when omitted the entity's account is resolved by the service.
externalAccountId
string
Optional
Your external account identifier. Alternative to accountID for targeting a specific account.
excludeFilter
integer (enum)
Optional
StatementExcludeFilters enum, sent as an integer: 0 = None (default, no filtering), 1 = NoMovementsInPeriod (omits investments with no transactions in the fromDate–toDate period), 2 = NoHoldingsInPeriod (omits investments not held at any point in the period). Applies to Transaction Statements.
separateStatementPerInvestment
boolean
Optional
Defaults to true: produces one statement per investment held, combined into a single returned PDF. Setting it to false returns 400 ("A combined statement across all investments is not yet supported."). Omit it or leave it true.

Statement Types & Required Fields

The statementTypeID determines which template, validation rules, and data sources are used for statement generation. Query Common/Lookup for the latest available statement types.

ID: 8 Tax Statement
toDate bizEntityID
Required Fields
toDate (validates financial year end) bizEntityID or externalBizEntityId

Annual tax information for ATO reporting including distribution components, franking credits, capital gains, and financial year summaries.

ID: 9 Distribution Statement
corporateActionID bizEntityID
Required Fields
corporateActionID or externalCorporateActionId bizEntityID or externalBizEntityId

AMIT-compliant distribution statements with tax component details, franking credits, and ATO reporting information for specific corporate actions.

ID: 32 Transaction Statement
fromDate toDate bizEntityID excludeFilter
Required Fields
fromDate and toDate (both required) bizEntityID or externalBizEntityId

Member account activity for specified date range including unit applications/redemptions, fee deductions, balance changes, and transaction history.

Regulatory Requirements: All statements must include required disclaimers, PDS references, and contact information per ASIC RG97 and Corporations Act 2001. Retention period: 7 years minimum.

Statement Composition & Exclude Filters

A Transaction Statement request (statementTypeID: 32) produces one statement per investment the account holds, combined into a single returned PDF. This is controlled by separateStatementPerInvestment, which defaults to true. Sending false returns 400 with the message A combined statement across all investments is not yet supported. Omit the field or leave it true.

excludeFilter trims which investments get a statement. It is sent as an integer (the enum StatementExcludeFilters):

ValueNameEffect
0NoneDefault. No filtering — every investment held gets a statement.
1NoMovementsInPeriodOmits investments with no transactions between fromDate and toDate.
2NoHoldingsInPeriodOmits investments not held at any point between fromDate and toDate.

To target one account when the BizEntity has several, pass accountID or externalAccountId. To produce a statement for a single investment, pass investmentID, externalInvestmentId or securityCode (SecurityCode is unique within a product, so keep productID / externalProductId in the request).

Example Requests

bash
# Generate a distribution statement (statementTypeID: 9)
curl -X POST 'https://api.7g.com.au/Document/Statement' \
  -H 'Authorization: {accessToken}' \
  -H 'Version: 2.0' \
  -H 'Content-Type: application/json' \
  -d '{
    "statementTypeID": 9,
    "productID": 100,
    "bizEntityID": 12345,
    "corporateActionID": 789,
    "code": "DIST-2024-Q4"
  }' \
  --output distribution_statement.pdf

# Transaction statement (statementTypeID: 32) — one statement per investment held,
# skipping investments with no movements in the period (excludeFilter: 1)
curl -X POST 'https://api.7g.com.au/Document/Statement' \
  -H 'Authorization: {accessToken}' \
  -H 'Version: 2.0' \
  -H 'Content-Type: application/json' \
  -d '{
    "statementTypeID": 32,
    "productID": 100,
    "bizEntityID": 12345,
    "accountID": 67890,
    "fromDate": "2024-07-01",
    "toDate": "2025-06-30",
    "excludeFilter": 1,
    "code": "TXN-FY2025"
  }' \
  --output transaction_statements.pdf

Response Examples

json
HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Disposition: attachment; filename="Investment_Statement_2024.pdf"

[Binary file content streamed to client]