# Reports

Reports export your account data in bulk as a CSV file.
Each report covers one `report_type` and one date range. Records are selected by their creation date, except for
`TAX_TRANSACTIONAL` and `TAX_SUMMARY`, which are selected by `processing_time`. `date_from` is
inclusive and `date_to` is exclusive. Reports contain only the account and channels the API key can access. Reports
expire 30 days after creation.
Column layout of each report file, by report type.
INVOICES
Invoice line items created in the date range, with one row per line item. Covers invoice content, such as billed products and amounts, not payment details. Deleted invoices are excluded.
| Column | Type | Description |
|  --- | --- | --- |
| id | string | Unique invoice identifier. |
| status | string | Current invoice status: `DRAFT`, `OPEN`, `PAID`, `VOIDED`, `DUNNING`, `UNPAID`. |
| currency | string | Three-letter ISO-4217 currency code. |
| total_amount | integer | Total invoice amount in minor units. |
| notes | string | Additional notes for the invoice. |
| merchant_reference | string | Merchant-defined reference for the invoice. |
| pdf_url | string | URL to download the invoice PDF. |
| subscription_id | string | Identifier of the associated subscription. |
| created_at | datetime | Date and time when the invoice was created. |
| updated_at | datetime | Date and time when the invoice was updated. |
| due_at | datetime | Date and time when the invoice is due. |
| customer_id | string | Unique customer identifier. |
| customer_first_name | string | Customer first name. |
| customer_last_name | string | Customer last name. |
| customer_email | string | Customer email. |
| customer_phone | string | Customer phone number. |
| customer_address_city | string | Customer city. |
| customer_address_country | string | Customer country. |
| customer_address_line1 | string | Customer address line 1. |
| customer_address_line2 | string | Customer address line 2. |
| customer_address_state | string | Customer state. |
| customer_address_postal_code | string | Customer postal code. |
| customer_tax_taxability | string | Customer taxability: `EXEMPT`, `TAXABLE`. |
| amount_details_subtotal | integer | Subtotal amount in minor units before discounts and taxes. |
| amount_details_discount | integer | Discount amount in minor units. |
| amount_details_taxable | integer | Taxable amount in minor units. |
| amount_details_tax | integer | Tax amount in minor units. |
| discounts | json | Discounts applied to the invoice, each with `coupon_id` and `coupon_code`. |
| line_item_product_price_id | string | Identifier of the associated product price. |
| line_item_description | string | Line item description. |
| line_item_amount | integer | Line item amount in minor units. |
| line_item_currency | string | Three-letter ISO-4217 currency code. |
| line_item_quantity | integer | Number of product units. |
| line_item_amount_details_subtotal | integer | Line item subtotal in minor units before discounts and taxes. |
| line_item_amount_details_discount | integer | Line item discount amount in minor units. |
| line_item_amount_details_taxable | integer | Line item taxable amount in minor units. |
| line_item_amount_details_tax | integer | Line item tax amount in minor units. |
| line_item_tax_category_id | string | Identifier of the tax category. |
| line_item_tax_mode | string | Tax calculation mode: `EXCLUSIVE`, `INCLUSIVE`. |
| line_item_tax_rate | number | Tax rate as a percentage. |

SUBSCRIPTIONS
Subscriptions created in the date range, with one row per subscription line item, matching
Subscriptions.
| Column | Type | Description |
|  --- | --- | --- |
| id | string | Unique subscription identifier. |
| customer_id | string | Unique customer identifier. |
| status | string | Subscription status: `CREATED`, `PENDING`, `TRIALING`, `ACTIVE`, `REDEMPTION`, `UNPAID`, `CANCELLED`, `EXPIRED`. |
| currency | string | Three-letter ISO-4217 currency code. |
| description | string | Additional description for the subscription. |
| payment_instrument_id | string | Identifier of the payment instrument used for billing. |
| latest_invoice_id | string | Identifier of the most recent invoice. |
| merchant_reference | string | Merchant-defined reference for the subscription. |
| created_at | datetime | Date and time when the subscription was created. |
| updated_at | datetime | Date and time when the subscription was updated. |
| started_at | datetime | Date and time when the subscription started. |
| next_billing_at | datetime | Date and time when the next billing occurs. |
| anchor_at | datetime | Date and time used to anchor billing cycles. |
| trial_info_type | string | Trial type: `FREE`, `PAID`. |
| trial_info_amount | integer | Trial amount in minor units. |
| trial_info_period_start_at | datetime | Date and time when the trial period starts. |
| trial_info_period_end_at | datetime | Date and time when the trial period ends. |
| trial_info_period_config_value | integer | Number of units in the trial period. |
| trial_info_period_config_unit | string | Trial period unit: `MINUTE`, `HOUR`, `DAY`, `WEEK`, `MONTH`, `QUARTER`, `YEAR`. |
| cancellation_info_cancel_at | datetime | Date and time when the subscription is scheduled to be cancelled or was cancelled. |
| cancellation_info_requested_at | datetime | Date and time when cancellation was requested. |
| cancellation_info_reason | string | Cancellation reason: `DUNNING_EXHAUSTED`, `CANCELLATION_REQUESTED`, `FRAUD_ALERT_RECEIVED`, `DISPUTE_RECEIVED`. |
| cancellation_info_comment | string | Additional cancellation comment. |
| discounts | json | Discounts applied to the subscription, each with `coupon_id` and `coupon_code`. |
| metadata | json | Set of key-value pairs attached to the subscription. |
| line_item_id | string | Unique line item identifier. |
| line_item_product_id | string | Identifier of the associated product. |
| line_item_product_price_id | string | Identifier of the associated product price. |
| line_item_billing_type | string | Line item billing type: `RECURRING`, `ONE_TIME`. |
| line_item_currency | string | Three-letter ISO-4217 currency code. |
| line_item_amount | integer | Line item amount in minor units. |
| line_item_quantity | integer | Number of product units. |
| line_item_started_at | datetime | Date and time when the line item started. |
| line_item_period_start_at | datetime | Date and time when the billing period starts. |
| line_item_period_end_at | datetime | Date and time when the billing period ends. |
| line_item_billing_period_config_value | integer | Number of units in the billing period. |
| line_item_billing_period_config_unit | string | Billing period unit: `MINUTE`, `HOUR`, `DAY`, `WEEK`, `MONTH`, `QUARTER`, `YEAR`. |
| line_item_product_info_name | string | Product name. |
| line_item_product_info_description | string | Product description. |
| line_item_created_at | datetime | Date and time when the line item was created. |
| line_item_updated_at | datetime | Date and time when the line item was updated. |

TAX_TRANSACTIONAL
Tax line items processed in the date range, with one row per tax line item.
| Column | Type | Description |
|  --- | --- | --- |
| order_id | string | Merchant-defined order reference. |
| payment_category | string | Payment category: `card-payment`, `apm-payment`. |
| transaction_type | string | Transaction type: `sale`, `refund`, `chargeback`, `chargeback_reversed`, `rdr`, `rdr_reversed`, `paypal_dispute`. |
| channel_name | string | Name of the channel the transaction was processed under. |
| processing_amount | number | Transaction amount in major units. |
| processing_currency | string | Three-letter ISO-4217 currency code. |
| tax_type | string | Tax type: `included`, `excluded`. Empty when no tax was calculated. |
| tax_category | string | Name of the tax category applied to the line item. |
| tax_rate | number | Tax rate as a decimal fraction, rounded to 2 decimal places (`0.10` = 10%). Empty when no tax was calculated. |
| tax_amount | number | Tax amount. |
| tax_currency | string | Three-letter ISO-4217 currency code for the tax and taxable amounts. |
| tax_location | string | Country code of the tax jurisdiction used to calculate the tax. |
| tax_state | string | State or province of the tax jurisdiction, when applicable. |
| taxable_amount | number | Taxable amount. |
| processing_time | datetime | Date and time when the transaction with taxable line item was processed. |
| legal_entity | string | Name of the legal entity the transaction was processed under. |
| geo_country | string | Country derived from the customer geolocation. |
| bin_country | string | Country associated with the card BIN. |
| ip_country | string | Country derived from the customer IP address. |
| ip_address | string | Customer IP address. |
| postal_code | string | Customer postal code. |
| order_description | string | Order description. |
| product_id | string | Identifier of the associated product. |
| external_psp_order_id | string | External payment service provider order identifier. |
| transaction_id | string | Identifier of the related transaction, chargeback, or dispute. Empty when the line item belongs to an invoice. |
| tax_transaction_id | string | Unique identifier of the tax line item. |
| no_tax_reason | string | Reason no tax was calculated, for example, `location_not_specified`, `rate_not_matched`. Empty when tax was calculated. |
| provider | string | Name of the acquiring bank or payment provider that processed the transaction. |
| invoice_id | string | Identifier of the related invoice. Empty when the line item is not linked to an invoice. |
| line_item_id | string | Identifier of the related invoice line item. Empty when the line item is not linked to an invoice. |
| quantity | integer | Number of units. |
| customer_id | string | Unique customer identifier. Empty when the line item is not linked to an invoice. |
| customer_type | string | Customer type: `B2B`, `B2C`. |
| company_name | string | Customer company name. |
| vat_number | string | Customer VAT number. |
| product_price_id | string | Identifier of the associated product price. |
| date_from | datetime | Start of the report's requested date range, repeated on every row. |
| date_to | datetime | End of the report's requested date range, repeated on every row. |

INVOICE_PAYMENTS
Payments applied to invoices in the date range, with one row per payment. Covers payment amount and method, not invoice line item details.
| Column | Type | Description |
|  --- | --- | --- |
| id | string | Unique invoice payment identifier. |
| invoice_id | string | Identifier of the invoice this payment belongs to. |
| status | string | Current payment status: `OPEN`, `PAID`, `VOIDED`. |
| amount | integer | Payment amount in minor units. |
| currency | string | Three-letter ISO-4217 currency code. |
| payment_id | string | Identifier of the payment this invoice payment corresponds to. |
| payment_method | string | Payment method. |
| payment_instrument_id | string | Identifier of the payment instrument used for billing. |
| created_at | datetime | Date and time when the payment was created. |
| updated_at | datetime | Date and time when the payment was last updated. |

TAX_SUMMARY
Aggregates tax data for the date range into a high-level view of liabilities across jurisdictions. One row per unique combination of legal entity, tax location, tax rate, processing currency, tax currency, and tax state.
| Column | Type | Description |
|  --- | --- | --- |
| legal_entity | string | Name of the legal entity the transactions were processed under. |
| tax_location | string | Country code of the tax jurisdiction used to calculate the tax. |
| tax_rate | number | Tax rate as a decimal fraction, rounded to 2 decimal places (`0.10` = 10%). Empty when no tax was calculated. |
| processing_currency | string | Three-letter ISO-4217 currency code the underlying transactions were processed in. |
| taxable_amount | number | Taxable turnover in major units, summed across the date range. |
| tax_amount | number | Calculated tax amount in major units, summed across the date range. |
| tax_currency | string | Three-letter ISO-4217 currency code for the tax and taxable amounts. |
| tax_state | string | State or province of the tax jurisdiction, when applicable. |
| date_from | datetime | Start of the report's requested date range, repeated on every row. |
| date_to | datetime | End of the report's requested date range, repeated on every row. |

 - [POST /reports/create](https://api-docs.solidgate.com/api/v2/reports/create-report.md): Creates a report for the specified date range. The report is processed asynchronously. Once processing completes, use the returned `id` to download it.
 - [POST /reports/get](https://api-docs.solidgate.com/api/v2/reports/get-report.md): Returns the report for the provided identifier in its current status. The response includes a report only if the API key has access to it. Poll this endpoint after creating a report to track processin
 - [POST /reports/download](https://api-docs.solidgate.com/api/v2/reports/download-report.md): Returns a 303 redirect to a short-lived download URL.
 - [POST /reports/list](https://api-docs.solidgate.com/api/v2/reports/list-reports.md): Returns reports available to the current API key, sorted by creation date (newest first). The response includes only report types the API key has access to. Supports cursor-based pagination.
 - [POST ReportGenerated](https://api-docs.solidgate.com/api/v2/reports/on-report-generated.md): Webhook sent when a report finishes generating and is ready to download.
