Product Financial Configs

Product Financial Configs

Creates a new product financial config record that does not already exist.

This method will auto-generate an ID and create a new product financial config. If an ID is specified for the product financial config, an error will be thrown.

Request
Security:
path Parameters
tenantId
required
string

The id of the tenant being accessed.

Request Body schema: application/json

The product financial config that you would like to be saved.

id
required
string (ID) /^[\w\-_\s,&@\.\\]+$/

The unique, string identifier of this product financial configuration. This should be in the format [product type]-[product id]

business_unit_id
required
string (Business Unit)

The business unit id

product_type
required
string (Product Type)

The type of product

product_id
required
string (Product)

The id of product

accounts_receivable_gl_account_id
string (Accounts Receivable Gl Account)

The A/R GL account

revenue_gl_account_id
required
string (Revenue Gl Account)

The revenue GL account

accounting_project_id
string (Accounting Project)

The accounting project for this project

write_off_gl_account_id
string (Write Off Gl Account)

The write off account

cogs_expense_gl_account_id
string (Cogs Expense Gl Account)

The COGS account

inventory_gl_account_id
string (Inventory Gl Account)

The inventory gl account

tax_class_id
string (Tax Class)

The tax class of this product

enable_deferred_revenue_recognition
boolean (Enable Deferred Revenue Recognition)

Whether or not revenue should be deferred

deferred_revenue_gl_account_id
required
string (Deferred Revenue Gl Account)

The deferred revenue account

deferral_schedule_calculation_strategy
string (Deferral Schedule Calculation Strategy)

How the revenue recognition schedule is calculated

Enum: "automatic" "fixed dates"
required
Array of objects non-empty
enable_revenue_splits
boolean (Enable Revenue Splits)

Whether or not the product should split revenue

merchant_account_id
string (Merchant Account)

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

required
Array of objects non-empty
Array of objects non-empty
notes
string (Notes)

notes

Array of objects (Custom Field Values)
sys_deleted_by_id
string (Sys Deleted By)

The ID of the user that deleted (or last tried to delete) this object

sys_version
number <float> (Sys Version)

A number representing the version of this record in the database

sys_created_at
required
string <date-time> (Sys Created At)

The date/time that this record was created, expressed in ISO-8601 date format

sys_last_modified_at
required
string <date-time> (Sys Last Modified At)

The date/time that this record record was last modified, expressed in ISO-8601 date format

sys_created_by_id
required
string (Sys Created By)

The ID of the user that created this record

sys_last_modified_by_id
required
string (Sys Last Modified By)

The ID of the user that last modified this record

sys_external_id
string (Sys External)

The ID that a record has from an external system or data import

sys_locked
boolean (Sys Locked)

If set, this record is locked and cannot be changed via the API

sys_bulk_load_pk
string (Sys Bulk Load Pk)

If this record was loaded via bulk, the tenant and key of the bulk load process used as a partition key

sys_bulk_load_at
string (Sys Bulk Load At)

If this record was loaded via bulk, the timestamp when the record was processed

sys_bulk_load_id
string (Sys Bulk Load)

If this record was loaded via bulk, the ID of the bulk load process

sys_bulk_load_record_no
number <float> (Sys Bulk Load Record No)

If this record was loaded via bulk, the record number in the source file

sys_bulk_load_source_file
string (Sys Bulk Load Source File)

If this record was loaded via bulk, the source file

sys_directive
string (Sys Directive)

Means for passing directive information into an object processing logic

sys_snapshot_base_version
number <float> (Sys Snapshot Base Version)

The version to use as a base when creating a configuration snapshot; if not set, 1 is used. Helpful when creating a sandbox

sys_configuration_snapshot_id
string (Sys Configuration Snapshot)

If a snapshot was restored/applies to this record, the ID of the snapshot

Responses
200The product financial config was saved successfully.
400The product financial config you supplied was invalid.
401Unauthorized.
403Forbidden.
404The resource could not be found
409The product financial config could not be saved because it refers to/depends on a non-existent object.
429Limit exceeded... unable to add product financial config based on tenant limits.
500General server error.
post/productFinancialConfigs/{tenantId}
Request samples
application/json
{
  • "id": "string",
  • "business_unit_id": "string",
  • "product_type": "string",
  • "product_id": "string",
  • "accounts_receivable_gl_account_id": "string",
  • "revenue_gl_account_id": "string",
  • "accounting_project_id": "string",
  • "write_off_gl_account_id": "string",
  • "cogs_expense_gl_account_id": "string",
  • "inventory_gl_account_id": "string",
  • "tax_class_id": "string",
  • "enable_deferred_revenue_recognition": true,
  • "deferred_revenue_gl_account_id": "string",
  • "deferral_schedule_calculation_strategy": "automatic",
  • "deferral_fixed_dates": [
    ],
  • "enable_revenue_splits": true,
  • "merchant_account_id": "string",
  • "revenue_splits": [
    ],
  • "due_to_due_from_entries": [
    ],
  • "notes": "string",
  • "custom_field_values": [
    ],
  • "sys_deleted_by_id": "string",
  • "sys_version": 0,
  • "sys_created_at": "2019-08-24T14:15:22Z",
  • "sys_last_modified_at": "2019-08-24T14:15:22Z",
  • "sys_created_by_id": "string",
  • "sys_last_modified_by_id": "string",
  • "sys_external_id": "string",
  • "sys_locked": true,
  • "sys_bulk_load_pk": "string",
  • "sys_bulk_load_at": "string",
  • "sys_bulk_load_id": "string",
  • "sys_bulk_load_record_no": 0,
  • "sys_bulk_load_source_file": "string",
  • "sys_directive": "string",
  • "sys_snapshot_base_version": 0,
  • "sys_configuration_snapshot_id": "string"
}
Response samples
application/json
{
  • "id": "string",
  • "business_unit_id": "string",
  • "product_type": "string",
  • "product_id": "string",
  • "accounts_receivable_gl_account_id": "string",
  • "revenue_gl_account_id": "string",
  • "accounting_project_id": "string",
  • "write_off_gl_account_id": "string",
  • "cogs_expense_gl_account_id": "string",
  • "inventory_gl_account_id": "string",
  • "tax_class_id": "string",
  • "enable_deferred_revenue_recognition": true,
  • "deferred_revenue_gl_account_id": "string",
  • "deferral_schedule_calculation_strategy": "automatic",
  • "deferral_fixed_dates": [
    ],
  • "enable_revenue_splits": true,
  • "merchant_account_id": "string",
  • "revenue_splits": [
    ],
  • "due_to_due_from_entries": [
    ],
  • "notes": "string",
  • "custom_field_values": [
    ],
  • "sys_deleted_by_id": "string",
  • "sys_version": 0,
  • "sys_created_at": "2019-08-24T14:15:22Z",
  • "sys_last_modified_at": "2019-08-24T14:15:22Z",
  • "sys_created_by_id": "string",
  • "sys_last_modified_by_id": "string",
  • "sys_external_id": "string",
  • "sys_locked": true,
  • "sys_bulk_load_pk": "string",
  • "sys_bulk_load_at": "string",
  • "sys_bulk_load_id": "string",
  • "sys_bulk_load_record_no": 0,
  • "sys_bulk_load_source_file": "string",
  • "sys_directive": "string",
  • "sys_snapshot_base_version": 0,
  • "sys_configuration_snapshot_id": "string"
}

Gets all of the product financial configs in the system.

This method will scan all product financial configs and and return them to the caller.

Request
Security:
path Parameters
tenantId
required
string

The id of the tenant being accessed.

query Parameters
fields
string

The fields that you want to retrieve; if omitted, the entire object is returned.

exclusiveStartKey
string

The start key, if you're making a subsequent request

Responses
200The product financial configswere retrieved successfully.
400The request was invalid.
401Unauthorized.
403Forbidden.
404The resource could not be found
429Limit exceeded... unable to add contact role based on tenant limits.
500General server error.
get/productFinancialConfigs/{tenantId}
Request samples
curl -i -X GET \
  'https://collect.api.rhythmsoftware.com/productFinancialConfigs/:tenantId?fields=string&exclusiveStartKey=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'
Response samples
application/json
[
  • {
    }
]

Returns a product financial config from the system by its ID.

This method will look up a product financial config by the specified ID and return it back.

Request
Security:
path Parameters
tenantId
required
string

The id of the tenant being accessed.

id
required
string

The ID of the product financial config to return.

query Parameters
fields
string

The fields that you want to retrieve; if omitted, the entire object is returned.

consistentRead
string

Indicates the API should force a consistent read on the data source.

Responses
200The product financial config was retrieved successfully.
400The request was not valid.
401Unauthorized.
403Forbidden.
404The product financial config could not be found.
429Limit exceeded... unable to retrieve product financial config based on tenant limits.
500General server error.
get/productFinancialConfigs/{tenantId}/{id}
Request samples
curl -i -X GET \
  'https://collect.api.rhythmsoftware.com/productFinancialConfigs/:tenantId/:id?fields=string&consistentRead=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'
Response samples
application/json
{
  • "id": "string",
  • "business_unit_id": "string",
  • "product_type": "string",
  • "product_id": "string",
  • "accounts_receivable_gl_account_id": "string",
  • "revenue_gl_account_id": "string",
  • "accounting_project_id": "string",
  • "write_off_gl_account_id": "string",
  • "cogs_expense_gl_account_id": "string",
  • "inventory_gl_account_id": "string",
  • "tax_class_id": "string",
  • "enable_deferred_revenue_recognition": true,
  • "deferred_revenue_gl_account_id": "string",
  • "deferral_schedule_calculation_strategy": "automatic",
  • "deferral_fixed_dates": [
    ],
  • "enable_revenue_splits": true,
  • "merchant_account_id": "string",
  • "revenue_splits": [
    ],
  • "due_to_due_from_entries": [
    ],
  • "notes": "string",
  • "custom_field_values": [
    ],
  • "sys_deleted_by_id": "string",
  • "sys_version": 0,
  • "sys_created_at": "2019-08-24T14:15:22Z",
  • "sys_last_modified_at": "2019-08-24T14:15:22Z",
  • "sys_created_by_id": "string",
  • "sys_last_modified_by_id": "string",
  • "sys_external_id": "string",
  • "sys_locked": true,
  • "sys_bulk_load_pk": "string",
  • "sys_bulk_load_at": "string",
  • "sys_bulk_load_id": "string",
  • "sys_bulk_load_record_no": 0,
  • "sys_bulk_load_source_file": "string",
  • "sys_directive": "string",
  • "sys_snapshot_base_version": 0,
  • "sys_configuration_snapshot_id": "string"
}

Updates a product financial config with the specified ID.

This method will update an existing product financial config with the specified ID.

Request
Security:
path Parameters
tenantId
required
string

The id of the tenant being accessed.

id
required
string

The ID of the product financial config to update.

Request Body schema: application/json

The updated product financial config that will be saved.

id
required
string (ID) /^[\w\-_\s,&@\.\\]+$/

The unique, string identifier of this product financial configuration. This should be in the format [product type]-[product id]

business_unit_id
required
string (Business Unit)

The business unit id

product_type
required
string (Product Type)

The type of product

product_id
required
string (Product)

The id of product

accounts_receivable_gl_account_id
string (Accounts Receivable Gl Account)

The A/R GL account

revenue_gl_account_id
required
string (Revenue Gl Account)

The revenue GL account

accounting_project_id
string (Accounting Project)

The accounting project for this project

write_off_gl_account_id
string (Write Off Gl Account)

The write off account

cogs_expense_gl_account_id
string (Cogs Expense Gl Account)

The COGS account

inventory_gl_account_id
string (Inventory Gl Account)

The inventory gl account

tax_class_id
string (Tax Class)

The tax class of this product

enable_deferred_revenue_recognition
boolean (Enable Deferred Revenue Recognition)

Whether or not revenue should be deferred

deferred_revenue_gl_account_id
required
string (Deferred Revenue Gl Account)

The deferred revenue account

deferral_schedule_calculation_strategy
string (Deferral Schedule Calculation Strategy)

How the revenue recognition schedule is calculated

Enum: "automatic" "fixed dates"
required
Array of objects non-empty
enable_revenue_splits
boolean (Enable Revenue Splits)

Whether or not the product should split revenue

merchant_account_id
string (Merchant Account)

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

required
Array of objects non-empty
Array of objects non-empty
notes
string (Notes)

notes

Array of objects (Custom Field Values)
sys_deleted_by_id
string (Sys Deleted By)

The ID of the user that deleted (or last tried to delete) this object

sys_version
number <float> (Sys Version)

A number representing the version of this record in the database

sys_created_at
required
string <date-time> (Sys Created At)

The date/time that this record was created, expressed in ISO-8601 date format

sys_last_modified_at
required
string <date-time> (Sys Last Modified At)

The date/time that this record record was last modified, expressed in ISO-8601 date format

sys_created_by_id
required
string (Sys Created By)

The ID of the user that created this record

sys_last_modified_by_id
required
string (Sys Last Modified By)

The ID of the user that last modified this record

sys_external_id
string (Sys External)

The ID that a record has from an external system or data import

sys_locked
boolean (Sys Locked)

If set, this record is locked and cannot be changed via the API

sys_bulk_load_pk
string (Sys Bulk Load Pk)

If this record was loaded via bulk, the tenant and key of the bulk load process used as a partition key

sys_bulk_load_at
string (Sys Bulk Load At)

If this record was loaded via bulk, the timestamp when the record was processed

sys_bulk_load_id
string (Sys Bulk Load)

If this record was loaded via bulk, the ID of the bulk load process

sys_bulk_load_record_no
number <float> (Sys Bulk Load Record No)

If this record was loaded via bulk, the record number in the source file

sys_bulk_load_source_file
string (Sys Bulk Load Source File)

If this record was loaded via bulk, the source file

sys_directive
string (Sys Directive)

Means for passing directive information into an object processing logic

sys_snapshot_base_version
number <float> (Sys Snapshot Base Version)

The version to use as a base when creating a configuration snapshot; if not set, 1 is used. Helpful when creating a sandbox

sys_configuration_snapshot_id
string (Sys Configuration Snapshot)

If a snapshot was restored/applies to this record, the ID of the snapshot

Responses
200The product financial config was updated successfully.
400The product financial config supplied was not valid.
401Unauthorized.
403Forbidden.
404The product financial config could not be found.
409The product financial config could not be saved because it refers to/depends on a non-existent object.
429Limit exceeded... unable to retrieve product financial config based on tenant limits.
500General server error.
put/productFinancialConfigs/{tenantId}/{id}
Request samples
application/json
{
  • "id": "string",
  • "business_unit_id": "string",
  • "product_type": "string",
  • "product_id": "string",
  • "accounts_receivable_gl_account_id": "string",
  • "revenue_gl_account_id": "string",
  • "accounting_project_id": "string",
  • "write_off_gl_account_id": "string",
  • "cogs_expense_gl_account_id": "string",
  • "inventory_gl_account_id": "string",
  • "tax_class_id": "string",
  • "enable_deferred_revenue_recognition": true,
  • "deferred_revenue_gl_account_id": "string",
  • "deferral_schedule_calculation_strategy": "automatic",
  • "deferral_fixed_dates": [
    ],
  • "enable_revenue_splits": true,
  • "merchant_account_id": "string",
  • "revenue_splits": [
    ],
  • "due_to_due_from_entries": [
    ],
  • "notes": "string",
  • "custom_field_values": [
    ],
  • "sys_deleted_by_id": "string",
  • "sys_version": 0,
  • "sys_created_at": "2019-08-24T14:15:22Z",
  • "sys_last_modified_at": "2019-08-24T14:15:22Z",
  • "sys_created_by_id": "string",
  • "sys_last_modified_by_id": "string",
  • "sys_external_id": "string",
  • "sys_locked": true,
  • "sys_bulk_load_pk": "string",
  • "sys_bulk_load_at": "string",
  • "sys_bulk_load_id": "string",
  • "sys_bulk_load_record_no": 0,
  • "sys_bulk_load_source_file": "string",
  • "sys_directive": "string",
  • "sys_snapshot_base_version": 0,
  • "sys_configuration_snapshot_id": "string"
}
Response samples
application/json
{
  • "id": "string",
  • "business_unit_id": "string",
  • "product_type": "string",
  • "product_id": "string",
  • "accounts_receivable_gl_account_id": "string",
  • "revenue_gl_account_id": "string",
  • "accounting_project_id": "string",
  • "write_off_gl_account_id": "string",
  • "cogs_expense_gl_account_id": "string",
  • "inventory_gl_account_id": "string",
  • "tax_class_id": "string",
  • "enable_deferred_revenue_recognition": true,
  • "deferred_revenue_gl_account_id": "string",
  • "deferral_schedule_calculation_strategy": "automatic",
  • "deferral_fixed_dates": [
    ],
  • "enable_revenue_splits": true,
  • "merchant_account_id": "string",
  • "revenue_splits": [
    ],
  • "due_to_due_from_entries": [
    ],
  • "notes": "string",
  • "custom_field_values": [
    ],
  • "sys_deleted_by_id": "string",
  • "sys_version": 0,
  • "sys_created_at": "2019-08-24T14:15:22Z",
  • "sys_last_modified_at": "2019-08-24T14:15:22Z",
  • "sys_created_by_id": "string",
  • "sys_last_modified_by_id": "string",
  • "sys_external_id": "string",
  • "sys_locked": true,
  • "sys_bulk_load_pk": "string",
  • "sys_bulk_load_at": "string",
  • "sys_bulk_load_id": "string",
  • "sys_bulk_load_record_no": 0,
  • "sys_bulk_load_source_file": "string",
  • "sys_directive": "string",
  • "sys_snapshot_base_version": 0,
  • "sys_configuration_snapshot_id": "string"
}

Partially updates a product financial config with the specified ID.

This method will patch an existing product financial config with the specified ID, using the HTTP PATCH specification.

Request
Security:
path Parameters
tenantId
required
string

The id of the tenant being accessed.

id
required
string

The ID of the product financial config to patch.

Request Body schema: application/json

The patch directives conforming to RFC 6902.

Array
op
required
string (Op)

The operation

Enum: "add" "remove" "replace" "move" "copy" "test"
path
required
string (Path)

The JSON path

value
string (Value)

The updated value

Responses
200The product financial config was patched successfully.
400The JSON patch directive you supplied was not valid.
401Unauthorized.
403Forbidden.
404The product financial config could not be found.
409The product financial config could not be saved because it refers to/depends on a non-existent object.
429Limit exceeded... unable to retrieve product financial config based on tenant limits.
500General server error.
patch/productFinancialConfigs/{tenantId}/{id}
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "id": "string",
  • "business_unit_id": "string",
  • "product_type": "string",
  • "product_id": "string",
  • "accounts_receivable_gl_account_id": "string",
  • "revenue_gl_account_id": "string",
  • "accounting_project_id": "string",
  • "write_off_gl_account_id": "string",
  • "cogs_expense_gl_account_id": "string",
  • "inventory_gl_account_id": "string",
  • "tax_class_id": "string",
  • "enable_deferred_revenue_recognition": true,
  • "deferred_revenue_gl_account_id": "string",
  • "deferral_schedule_calculation_strategy": "automatic",
  • "deferral_fixed_dates": [
    ],
  • "enable_revenue_splits": true,
  • "merchant_account_id": "string",
  • "revenue_splits": [
    ],
  • "due_to_due_from_entries": [
    ],
  • "notes": "string",
  • "custom_field_values": [
    ],
  • "sys_deleted_by_id": "string",
  • "sys_version": 0,
  • "sys_created_at": "2019-08-24T14:15:22Z",
  • "sys_last_modified_at": "2019-08-24T14:15:22Z",
  • "sys_created_by_id": "string",
  • "sys_last_modified_by_id": "string",
  • "sys_external_id": "string",
  • "sys_locked": true,
  • "sys_bulk_load_pk": "string",
  • "sys_bulk_load_at": "string",
  • "sys_bulk_load_id": "string",
  • "sys_bulk_load_record_no": 0,
  • "sys_bulk_load_source_file": "string",
  • "sys_directive": "string",
  • "sys_snapshot_base_version": 0,
  • "sys_configuration_snapshot_id": "string"
}

Returns a product financial config from the system by its ID.

This method will delete a product financial config with the specified ID.

Request
Security:
path Parameters
tenantId
required
string

The id of the tenant being accessed.

id
required
string

The ID of the product financial config to delete.

Responses
200The product financial config was deleted successfully.
400The request was not valid.
401Unauthorized.
403Forbidden.
404The product financial config could not be found.
409The product financial config could not be deleted because other objects refers to/depends on this one.
429Limit exceeded... unable to delete product financial config based on tenant limits.
500General server error.
delete/productFinancialConfigs/{tenantId}/{id}
Request samples
curl -i -X DELETE \
  https://collect.api.rhythmsoftware.com/productFinancialConfigs/:tenantId/:id \
  -H 'Authorization: YOUR_API_KEY_HERE'
Response samples
application/json
"string"

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.

Request
Security:
path Parameters
tenantId
required
string

The id of the tenant being accessed

productType
required
string

The type of product

productId
required
string

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

Responses
200The product financial configuration was retrieved successfully
400The request was not valid.
401Unauthorized
403Forbidden
404The product financial configuration could not be found.
429Limit exceeded... unable to retrieve product financial configuration based on tenant limits.
500General server error
get/productFinancialConfigs/{tenantId}/product/{productType}/{productId}
Request samples
curl -i -X GET \
  'https://collect.api.rhythmsoftware.com/productFinancialConfigs/:tenantId/product/:productType/:productId?fields=string&consistentRead=true' \
  -H 'Authorization: YOUR_API_KEY_HERE'
Response samples
application/json
{
  • "id": "string",
  • "business_unit_id": "string",
  • "product_type": "string",
  • "product_id": "string",
  • "accounts_receivable_gl_account_id": "string",
  • "revenue_gl_account_id": "string",
  • "accounting_project_id": "string",
  • "write_off_gl_account_id": "string",
  • "cogs_expense_gl_account_id": "string",
  • "inventory_gl_account_id": "string",
  • "tax_class_id": "string",
  • "enable_deferred_revenue_recognition": true,
  • "deferred_revenue_gl_account_id": "string",
  • "deferral_schedule_calculation_strategy": "automatic",
  • "deferral_fixed_dates": [
    ],
  • "enable_revenue_splits": true,
  • "merchant_account_id": "string",
  • "revenue_splits": [
    ],
  • "due_to_due_from_entries": [
    ],
  • "notes": "string",
  • "custom_field_values": [
    ],
  • "sys_deleted_by_id": "string",
  • "sys_version": 0,
  • "sys_created_at": "2019-08-24T14:15:22Z",
  • "sys_last_modified_at": "2019-08-24T14:15:22Z",
  • "sys_created_by_id": "string",
  • "sys_last_modified_by_id": "string",
  • "sys_external_id": "string",
  • "sys_locked": true,
  • "sys_bulk_load_pk": "string",
  • "sys_bulk_load_at": "string",
  • "sys_bulk_load_id": "string",
  • "sys_bulk_load_record_no": 0,
  • "sys_bulk_load_source_file": "string",
  • "sys_directive": "string",
  • "sys_snapshot_base_version": 0,
  • "sys_configuration_snapshot_id": "string"
}