# Returns a product financial configs from the system by its product type/ID. This method will look up a product financial configs by the specified ID and return it back. Endpoint: GET /productFinancialConfigs/{tenantId}/product/{productType}/{productId} Version: v1-2025-04-18 Security: knox-authorizer ## Path parameters: - `tenantId` (string, required) The id of the tenant being accessed - `productType` (string, required) The type of product - `productId` (string, required) The ID of the product to return ## Query parameters: - `fields` (string) The fields that you want to retrieve; if omitted, the entire object is returned - `consistentRead` (boolean) If set to true, a consistent read operation will be executed which is guaranteed to return latest results ## Response 200 fields (application/json): - `accounting_project_id` (string) The accounting project for this project - `accounts_receivable_gl_account_id` (string) The A/R GL account - `business_unit_id` (string, required) The business unit id - `cogs_expense_gl_account_id` (string) The COGS account - `custom_field_values` (array) - `custom_field_values.boolean_value` (boolean) The boolean value - `custom_field_values.custom_field_id` (string) The unique identifier of the custom field - `custom_field_values.file_url_value` (string) The pointer to a file value - `custom_field_values.list_value` (array) The list value - `custom_field_values.numeric_value` (number) The numeric value - `custom_field_values.string_value` (string) The string value of the custom field - `custom_field_values.table_value` (array) A list of objects (a table) - `deferral_fixed_dates` (array, required) - `deferral_fixed_dates.date` (string) The date for deferral - `deferral_fixed_dates.percentage` (number) The percentage to defer - `deferral_schedule_calculation_strategy` (string) How the revenue recognition schedule is calculated Enum: "automatic", "fixed dates" - `deferred_revenue_gl_account_id` (string, required) The deferred revenue account - `department_id` (string) The department for this project - `due_to_due_from_entries` (array) - `due_to_due_from_entries.accounts_receivable_gl_account_id` (string, required) The A/R G/L - `due_to_due_from_entries.business_unit_id` (string, required) The business unit - `due_to_due_from_entries.liability_gl_account_id` (string, required) The liability G/L account ID - `enable_deferred_revenue_recognition` (boolean) Whether or not revenue should be deferred - `enable_revenue_splits` (boolean) Whether or not the product should split revenue - `id` (string, required) The unique, string identifier of this product financial configuration. This should be in the format [product type]-[product id] - `inventory_gl_account_id` (string) The inventory gl account - `merchant_account_id` (string) The merchant account that all payments should be routed to; if set, all orders with this product will be split up to ensure payments to this product end up in the specified merchant account - `notes` (string) notes - `product_id` (string, required) The id of product - `product_type` (string, required) The type of product - `revenue_gl_account_id` (string, required) The revenue GL account - `revenue_splits` (array, required) - `revenue_splits.amount` (number) - `revenue_splits.name` (string) - `revenue_splits.percentage` (number) - `revenue_splits.revenue_gl_account_id` (string) The revenue account id - `revenue_splits.revenue_split_id` (string) - `revenue_splits.type` (string) Enum: "fixed amount", "percentage" - `sys_bulk_load_at` (string) If this record was loaded via bulk, the timestamp when the record was processed - `sys_bulk_load_id` (string) If this record was loaded via bulk, the ID of the bulk load process - `sys_bulk_load_pk` (string) If this record was loaded via bulk, the tenant and key of the bulk load process used as a partition key - `sys_bulk_load_record_no` (number) If this record was loaded via bulk, the record number in the source file - `sys_bulk_load_source_file` (string) If this record was loaded via bulk, the source file - `sys_calculated_field_error` (string) The error associated with the calculated field - `sys_calculated_field_errors` (array) - `sys_calculated_field_errors.error` (string) - `sys_calculated_field_errors.field` (string) - `sys_configuration_snapshot_id` (string) If a snapshot was restored/applies to this record, the ID of the snapshot - `sys_created_at` (string, required) The date/time that this record was created, expressed in ISO-8601 date format - `sys_created_by_id` (string, required) The ID of the user that created this record - `sys_deleted_by_id` (string) The ID of the user that deleted (or last tried to delete) this object - `sys_directive` (string) Means for passing directive information into an object processing logic - `sys_external_id` (string) The ID that a record has from an external system or data import - `sys_has_files_in_s3` (boolean) If true, this record has files in S3. If false, it doesnt, so no need to hit S3 upon deletion - `sys_last_bulk_data_operation_id` (string) If this record was last touched by a bulk data operation, the ID of that operation - `sys_last_bulk_data_operation_sys_version` (string) If this record was last touched by a bulk data operation, the sys_version at the time of that operation - `sys_last_modified_at` (string, required) The date/time that this record record was last modified, expressed in ISO-8601 date format - `sys_last_modified_by_id` (string, required) The ID of the user that last modified this record - `sys_last_security_context` (object) The security context of the last insert, modify, or delete performed on this item - `sys_locked` (boolean) If set, this record is locked and cannot be changed via the API - `sys_snapshot_base_version` (number) The version to use as a base when creating a configuration snapshot; if not set, 1 is used. Helpful when creating a sandbox - `sys_version` (number) A number representing the version of this record in the database - `tax_class_id` (string) The tax class of this product - `write_off_gl_account_id` (string) The write off account ## Response 400 fields ## Response 401 fields ## Response 403 fields ## Response 404 fields ## Response 429 fields ## Response 500 fields