# SaaSOptics

SaaSOptics is a subscription management platform that automates financial operations for growing B2B SaaS businesses.

SaaSOptics integration replicates data using the [SaaSOptics REST API](https://developers.maxio.com/http/getting-started/about-the-api/tips-and-best-practices).

See the [Schema](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-SaaSOptics.htm#Schema) section for a list of objects available for replication.

## Preparing for authentication

To access your data, you need to authenticate the connection with your account credentials.

Information noteMake sure that the account you use has read access to the tables you want to fetch.

SaaSOptics is now part of Maxio.

You need administrator permissions in your SaaSOptics account.

Only SaaSOptics account admins can generate the first API token for you. After an admin generates the initial token, you can regenerate your token as needed.

To generate an API token:

1. Log into your [SaaSOptics](https://www.maxio.com/login) account.
2. Navigate to Admin &gt; Settings &gt; API Tokens.
3. Enter a name for you API token and click Create API Token.
4. Copy and paste your API token into a secured file.

## Creating the connection

For more information, see [Connecting to SaaS applications](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm).

1. Fill in the required connection properties.

2. Provide a name for the connection in Connection name.

3. Select Open connection metadata to define metadata for the connection when it has been created.

4. Click Create.

Connection settings

| Setting | Description |
| --- | --- |
| Data gateway | Select a Data Movement gateway if required by your use case.<br><br>Information note<br><br>This field is not available with the Qlik Talend Cloud Starter subscription, as it does not support Data Movement gateway. If you have another subscription tier and do not want to use Data Movement gateway, select None.<br><br>For information on the benefits of Data Movement gateway and use cases that require it, see [Qlik Data Gateway - Data Movement](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm). |
| Start Date | Enter the date, in the format `MM/DD/YYYY`, from which the data must be replicated from your source to your target. |
| Account Name | You can find your account name in the URL you use to access your SaaSOptics account. If the URL is https://your-subdomain.saasoptics.com/your-account-name/so, the account name is your-account-name. |
| Server Subdomain | You can find your server subdomain in the URL you use to access your SaaSOptics account. If the URL is https://your-subdomain.saasoptics.com/your-account-name/so, the subdomain is your-subdomain. |
| Token | API token. |
| Date Window Size | The size of the date window for retrieving data. |

## Schema

Information note

Schemas and naming conventions can change from version to version. It is recommended to verify your version before continuing.

Depending on your destination, table and column names may not appear as they are outlined below.

### accounts

The `accounts` table contains info about accounts, or records in your Chart of Accounts, in SaaSOptics.

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | id |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/115013751507-Accounts-R- "Opens in new tab: SaaSOptics API method") |

accounts table schema

| **account\_type**<br><br><br>STRING |
| --- |
| **id**<br><br><br>INTEGER |
| **intacct\_id**<br><br><br>STRING |
| **intacct\_modified**<br><br><br>DATE-TIME |
| **intacct\_recordno**<br><br><br>INTEGER |
| **name**<br><br><br>STRING |
| **netsuite\_id**<br><br><br>STRING |
| **source\_system**<br><br><br>STRING |

### auto\_renewal\_profiles

The `auto_renewal_profiles` table contains info about auto-renwal profiles, or transaction renewal rules in your SaaSOptics account.

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | id |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/115013918268-Auto-Renewal-Profiles-R- "Opens in new tab: SaaSOptics API method") |

auto\_renewal\_profiles table schema

| **days**<br><br><br>INTEGER |
| --- |
| **generate\_revenue**<br><br><br>BOOLEAN |
| **id**<br><br><br>INTEGER |
| **months**<br><br><br>INTEGER |
| **name**<br><br><br>STRING |
| **recognize**<br><br><br>BOOLEAN |

### billing\_descriptions

The `billing_descriptions` table contains info about billing line item descriptions.

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | id |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/115013751807-Billing-Line-Item-Descriptions-R- "Opens in new tab: SaaSOptics API method") |

billing\_descriptions table schema

| **contents**<br><br><br>STRING |
| --- |
| **id**<br><br><br>INTEGER |
| **name**<br><br><br>STRING |
| **notes**<br><br><br>STRING |

### billing\_methods

The `billing_methods` table contains info about billing methods, which are used to specify billing/invoice frequencies for transactions in your SaaSOptics account.

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | id |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/115003604433-Billing-Methods-R- "Opens in new tab: SaaSOptics API method") |

billing\_methods table schema

| **id**<br><br><br>INTEGER |
| --- |
| **name**<br><br><br>STRING |

### contracts

The `contracts` table contains info about the contracts in your SaaSOptics account.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | modified |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/115013751607-Contracts-CRUD- "Opens in new tab: SaaSOptics API method") |

contracts table schema

| **billing\_profile**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>account_number: STRING</li><li>addr1: STRING</li><li>addr2: STRING</li><li>addr3: STRING</li><li>alt_contact: STRING</li><li>alt_phone: STRING</li><li>city: STRING</li><li>company_name: STRING</li><li>contact: STRING</li><li>country: STRING</li><li>currency: INTEGER</li><li>customer_type_ref_fullname: STRING</li><li>default_credit_memo_template: INTEGER</li><li>default_invoice_template: INTEGER</li><li>edit_sequence: STRING</li><li>email: STRING</li><li>entity_use_code: INTEGER</li><li>fax: STRING</li><li>first_name: STRING</li><li>full_name: STRING</li><li>invoice_email_preference: BOOLEAN</li><li>invoice_print_preference: BOOLEAN</li><li>is_active: BOOLEAN</li><li>job_description: STRING</li><li>job_end_date: DATE-TIME</li><li>job_projected_end_date: DATE-TIME</li><li>job_start_date: DATE-TIME</li><li>job_status: STRING</li><li>job_type: INTEGER</li><li>last_name: STRING</li><li>name: STRING</li><li>parent_id: STRING</li><li>payment_terms: INTEGER</li><li>phone: STRING</li><li>resale_number: STRING</li><li>sales_rep: INTEGER</li><li>salutation: STRING</li><li>shipping_addr1: STRING</li><li>shipping_addr2: STRING</li><li>shipping_addr3: STRING</li><li>shipping_city: STRING</li><li>shipping_country: STRING</li><li>shipping_state: STRING</li><li>shipping_zip_code: STRING</li><li>state: STRING</li><li>zip_code: STRING</li></ul> |
| --- |
| **channel**<br><br><br>STRING |
| **customer**<br><br><br>INTEGER |
| **email**<br><br><br>STRING |
| **entry\_date**<br><br>DATE-TIME |
| **id**<br><br><br>INTEGER |
| **is\_job**<br><br><br>BOOLEAN |
| **lead\_date**<br><br>DATE-TIME |
| **lead\_source**<br><br><br>STRING |
| **modified**<br><br>DATE-TIME |
| **notes**<br><br><br>STRING |
| **number**<br><br><br>STRING |
| **number\_field1**<br><br><br>NUMBER |
| **number\_field2**<br><br><br>NUMBER |
| **qb\_job\_id**<br><br><br>STRING |
| **register**<br><br><br>INTEGER |
| **sf\_id**<br><br><br>STRING |
| **text\_field1**<br><br><br>STRING |
| **text\_field2**<br><br><br>STRING |
| **unbalanced\_revenue\_exception**<br><br><br>BOOLEAN |

### country\_codes

The `country_codes` table contains info about country codes.

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | id |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/115003604453-Country-Codes-R- "Opens in new tab: SaaSOptics API method") |

country\_codes table schema

| **code**<br><br><br>STRING |
| --- |
| **id**<br><br><br>INTEGER |
| **name**<br><br><br>STRING |

### currency\_codes

The `currency_codes` table contains info about currency codes.

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | code |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/115003604453-Country-Codes-R- "Opens in new tab: SaaSOptics API method") |

currency\_codes table schema

| **code**<br><br><br>STRING |
| --- |
| **name**<br><br><br>STRING |

### customers

The `customers` table contains info about customers.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | modified |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/115013751587-Customers-CRUD- "Opens in new tab: SaaSOptics API method") |

customers table schema

| **autopay\_enrollment**<br><br><br>STRING |
| --- |
| **billing\_profile**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>account_number: STRING</li><li>addr1: STRING</li><li>addr2: STRING</li><li>addr3: STRING</li><li>alt_contact: STRING</li><li>alt_phone: STRING</li><li>avatax_address_validation_timestamp: DATE-TIME</li><li>city: STRING</li><li>company_name: STRING</li><li>contact: STRING</li><li>country: STRING</li><li>currency: INTEGER</li><li>customer_type: INTEGER</li><li>default_class: INTEGER</li><li>default_credit_memo_template: INTEGER</li><li>default_invoice_template: INTEGER</li><li>edit_sequence: STRING</li><li>email: STRING</li><li>entity_use_code: INTEGER</li><li>fax: STRING</li><li>first_name: STRING</li><li>full_name: STRING</li><li>invoice_email_preference: BOOLEAN</li><li>invoice_print_preference: BOOLEAN</li><li>is_active: BOOLEAN</li><li>last_name: STRING</li><li>last_updated_by_qb: BOOLEAN</li><li>name: STRING</li><li>payment_method: INTEGER</li><li>payment_terms: INTEGER</li><li>phone: STRING</li><li>resale_number: STRING</li><li>sales_rep: INTEGER</li><li>sales_rep_fullname: STRING</li><li>sales_tax_code: INTEGER</li><li>salutation: STRING</li><li>shipping_addr1: STRING</li><li>shipping_addr2: STRING</li><li>shipping_addr3: STRING</li><li>shipping_city: STRING</li><li>shipping_country: STRING</li><li>shipping_state: STRING</li><li>shipping_zip_code: STRING</li><li>state: STRING</li><li>zip_code: STRING</li></ul> |
| **cc\_email**<br><br><br>STRING |
| **code**<br><br><br>STRING |
| **crm\_id**<br><br><br>STRING |
| **default\_autorenewal\_profile**<br><br><br>STRING |
| **default\_email\_from\_so**<br><br><br>BOOLEAN |
| **default\_enable\_ach\_payment**<br><br><br>BOOLEAN |
| **default\_enable\_cc\_payment**<br><br><br>BOOLEAN |
| **default\_theme**<br><br><br>INTEGER |
| **do\_not\_sync**<br><br><br>BOOLEAN |
| **einvoicing\_id**<br><br><br>STRING |
| **email**<br><br><br>STRING |
| **enable\_autopay**<br><br><br>BOOLEAN |
| **escalation\_email**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |
| **industry**<br><br><br>STRING |
| **is\_active**<br><br><br>BOOLEAN |
| **market**<br><br><br>STRING |
| **modified**<br><br><br>DATE-TIME |
| **name**<br><br><br>STRING |
| **notes**<br><br><br>STRING |
| **number**<br><br><br>STRING |
| **number\_field1**<br><br><br>NUMBER |
| **number\_field2**<br><br><br>NUMBER |
| **number\_field3**<br><br><br>NUMBER |
| **parent**<br><br><br>INTEGER |
| **qb\_id**<br><br><br>STRING |
| **recurly\_id**<br><br><br>STRING |
| **segment**<br><br><br>STRING |
| **sf\_default\_renewal\_opportunity\_rule**<br><br><br>INTEGER |
| **sf\_id**<br><br><br>STRING |
| **sf\_opportunity\_price\_book\_id**<br><br><br>STRING |
| **sf\_owner\_id**<br><br><br>STRING |
| **stripe\_id**<br><br><br>STRING |
| **subsegment**<br><br><br>STRING |
| **text\_field1**<br><br><br>STRING |
| **text\_field2**<br><br><br>STRING |
| **text\_field3**<br><br><br>STRING |
| **unbalanced\_revenue\_exception**<br><br><br>BOOLEAN |

### deleted\_contracts

The `deleted_contracts` table contains a list of deleted SaaSOptics contracts.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | deleted |
| **Useful links** |  |

deleted\_contracts table schema

| **deleted**<br><br><br>DATE-TIME |
| --- |
| **deleted\_by**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |

### deleted\_invoices

The `deleted_invoices` table contains a list of deleted SaaSOptics invoices.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | deleted |
| **Useful links** |  |

deleted\_invoices table schema

| **deleted**<br><br><br>DATE-TIME |
| --- |
| **deleted\_by**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |

### deleted\_revenue\_entries

The `deleted_revenue_entries` table contains a list of deleted SaaSOptics revenue entries.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | deleted |
| **Useful links** |  |

deleted\_revenue\_entries table schema

| **deleted**<br><br><br>DATE-TIME |
| --- |
| **deleted\_by**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |

### deleted\_transactions

The `deleted_transactions` table contains a list of deleted SaaSOptics transactions.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | deleted |
| **Useful links** |  |

deleted\_transactions table schema

| **deleted**<br><br><br>DATE-TIME |
| --- |
| **deleted\_by**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |

### invoices

The `invoices` table contains info about invoices in your SaaSOptics account.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | auditentry\_modified |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/115013918148-Invoices-CRUD- "Opens in new tab: SaaSOptics API method") |

invoices table schema

| **applied\_amount**<br><br><br>NUMBER |
| --- |
| **auditentry\_created**<br><br><br>DATE-TIME |
| **auditentry\_created\_by\_name**<br><br><br>STRING |
| **auditentry\_modified**<br><br><br>DATE-TIME |
| **auditentry\_modified\_by\_name**<br><br><br>STRING |
| **auditentry\_qb\_created**<br><br><br>DATE-TIME |
| **auditentry\_qb\_modified**<br><br><br>DATE-TIME |
| **avatax\_commit\_timestamp**<br><br><br>DATE-TIME |
| **avatax\_id**<br><br><br>STRING |
| **avatax\_modify\_timestamp**<br><br><br>DATE-TIME |
| **avatax\_reconciliation\_status**<br><br><br>STRING |
| **avatax\_status**<br><br><br>STRING |
| **balance**<br><br><br>NUMBER |
| **billing\_addr1**<br><br><br>STRING |
| **billing\_addr2**<br><br><br>STRING |
| **billing\_addr3**<br><br><br>STRING |
| **billing\_city**<br><br><br>STRING |
| **billing\_country**<br><br><br>STRING |
| **billing\_state**<br><br><br>STRING |
| **billing\_zip\_code**<br><br><br>STRING |
| **contract**<br><br><br>INTEGER |
| **date**<br><br><br>DATE-TIME |
| **deleted\_in\_qb**<br><br><br>BOOLEAN |
| **do\_not\_sync**<br><br><br>BOOLEAN |
| **due\_date**<br><br><br>DATE-TIME |
| **ei\_theme**<br><br><br>INTEGER |
| **email\_from\_so**<br><br><br>BOOLEAN |
| **enable\_ach\_payment**<br><br><br>BOOLEAN |
| **enable\_cc\_payment**<br><br><br>BOOLEAN |
| **exported\_date**<br><br><br>DATE-TIME |
| **external\_id**<br><br><br>STRING |
| **foreign\_exchange\_rate**<br><br><br>NUMBER |
| **id**<br><br><br>INTEGER |
| **ignore\_date\_when\_syncing**<br><br><br>BOOLEAN |
| **is\_paid**<br><br><br>BOOLEAN |
| **line\_items**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>deleted_in_qb: BOOLEAN</li><li>exported_date: DATE-TIME</li><li>external_id: STRING</li><li>home_amount: NUMBER</li><li>id: INTEGER</li><li>invoice: INTEGER</li><li>item: INTEGER</li><li>local_amount: NUMBER</li><li>modified: DATE-TIME</li><li>no_transaction_permitted: BOOLEAN</li><li>notes: STRING</li><li>number: STRING</li><li>qb_class: INTEGER</li><li>qb_time_modified: DATE-TIME</li><li>qb_txn_line_id: STRING</li><li>quantity: NUMBER</li><li>recurly_id: STRING</li><li>refund_of: INTEGER</li><li>refund_of_stripe_id: STRING</li><li>sf_id: STRING</li><li>stripe_id: STRING</li><li>sync_date: DATE-TIME</li><li>transaction: INTEGER</li></ul> |
| **memo**<br><br><br>STRING |
| **number**<br><br><br>STRING |
| **other**<br><br><br>STRING |
| **po\_number**<br><br><br>STRING |
| **qb\_ar\_account**<br><br><br>INTEGER |
| **qb\_class**<br><br><br>INTEGER |
| **qb\_currency**<br><br><br>INTEGER |
| **qb\_customer\_message**<br><br><br>INTEGER |
| **qb\_number**<br><br><br>STRING |
| **qb\_payment\_terms**<br><br><br>INTEGER |
| **qb\_sales\_rep**<br><br><br>INTEGER |
| **qb\_template**<br><br><br>INTEGER |
| **qb\_txn\_id**<br><br><br>STRING |
| **recurly\_id**<br><br><br>STRING |
| **refund\_of**<br><br><br>INTEGER |
| **sales\_tax**<br><br><br>NUMBER |
| **sales\_tax\_percentage**<br><br><br>NUMBER |
| **sf\_id**<br><br><br>STRING |
| **ship\_date**<br><br><br>DATE-TIME |
| **shipping\_addr1**<br><br><br>STRING |
| **shipping\_addr2**<br><br><br>STRING |
| **shipping\_addr3**<br><br><br>STRING |
| **shipping\_city**<br><br><br>STRING |
| **shipping\_country**<br><br><br>STRING |
| **shipping\_state**<br><br><br>STRING |
| **shipping\_zip\_code**<br><br><br>STRING |
| **stripe\_id**<br><br><br>STRING |
| **stripe\_refund\_id**<br><br><br>STRING |
| **subtotal**<br><br><br>NUMBER |
| **sync\_date**<br><br><br>DATE-TIME |
| **to\_be\_emailed**<br><br><br>BOOLEAN |
| **to\_be\_printed**<br><br><br>BOOLEAN |
| **type**<br><br><br>STRING |

### items

The `items` table contains info about items, which are products and services you sell.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | modified |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/115013751567-Items-R- "Opens in new tab: SaaSOptics API method") |

items table schema

| **asset\_account**<br><br><br>INTEGER |
| --- |
| **avatax\_id**<br><br><br>STRING |
| **avatax\_sales\_tax\_code**<br><br><br>STRING |
| **billing\_description**<br><br><br>STRING |
| **billing\_method**<br><br><br>INTEGER |
| **code**<br><br><br>STRING |
| **create\_revenue**<br><br><br>BOOLEAN |
| **default\_duration**<br><br><br>STRING |
| **description**<br><br><br>STRING |
| **enable\_create\_transactions**<br><br><br>BOOLEAN |
| **enforce\_start\_date\_after\_end\_date**<br><br><br>BOOLEAN |
| **gl\_created**<br><br><br>DATE-TIME |
| **gl\_description**<br><br><br>STRING |
| **gl\_is\_active**<br><br><br>BOOLEAN |
| **gl\_modified**<br><br><br>DATE-TIME |
| **gl\_name**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |
| **income\_account**<br><br><br>INTEGER |
| **intacct\_id**<br><br><br>STRING |
| **intacct\_modified**<br><br><br>DATE-TIME |
| **intacct\_recordno**<br><br><br>STRING |
| **is\_active**<br><br><br>BOOLEAN |
| **is\_discount**<br><br><br>BOOLEAN |
| **is\_sales\_tax**<br><br><br>BOOLEAN |
| **is\_taxable**<br><br><br>BOOLEAN |
| **liability\_account**<br><br><br>INTEGER |
| **modified**<br><br><br>DATE-TIME |
| **name**<br><br><br>STRING |
| **needs\_so\_profile**<br><br><br>BOOLEAN |
| **netsuite\_id**<br><br><br>STRING |
| **netsuite\_modified**<br><br><br>DATE-TIME |
| **normalized\_term**<br><br><br>STRING |
| **product\_family**<br><br><br>STRING |
| **qb\_account**<br><br><br>INTEGER |
| **qb\_id**<br><br><br>STRING |
| **qb\_only**<br><br><br>BOOLEAN |
| **qb\_sales\_tax\_code**<br><br><br>STRING |
| **recurly\_id**<br><br><br>STRING |
| **recurring**<br><br><br>BOOLEAN |
| **renew\_all\_open\_transactions**<br><br><br>BOOLEAN |
| **renew\_using\_same\_item**<br><br><br>BOOLEAN |
| **revenue\_recognition\_method**<br><br><br>INTEGER |
| **sf\_do\_not\_sync**<br><br><br>BOOLEAN |
| **source\_system**<br><br><br>STRING |
| **stripe\_id**<br><br><br>STRING |
| **sync\_invoices**<br><br><br>BOOLEAN |
| **transaction\_end\_date**<br><br><br>DATE-TIME |
| **transaction\_start\_date**<br><br><br>DATE-TIME |
| **wizard\_enabled**<br><br><br>BOOLEAN |

### payment\_terms

The `payment_terms` table contains info about invoice payment terms.

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | id |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/115003642673-Payment-Terms-R- "Opens in new tab: SaaSOptics API method") |

payment\_terms table schema

| **id**<br><br><br>INTEGER |
| --- |
| **intacct\_id**<br><br><br>STRING |
| **intacct\_modified**<br><br><br>DATE-TIME |
| **intacct\_recordno**<br><br><br>INTEGER |
| **is\_active**<br><br><br>BOOLEAN |
| **name**<br><br><br>STRING |
| **netsuite\_id**<br><br><br>STRING |
| **num\_days**<br><br><br>NUMBER |

### registers

The `registers` table contains info about registers, which can contain one or more [contracts](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-SaaSOptics.htm#contracts).

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | modified |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/115013751707-Registers-R- "Opens in new tab: SaaSOptics API method") |

registers table schema

| **currency\_code**<br><br><br>STRING |
| --- |
| **default\_qb\_ar\_account**<br><br><br>STRING |
| **generated\_invoice\_number\_prefix**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |
| **modified**<br><br><br>DATE-TIME |
| **name**<br><br><br>STRING |

### revenue\_entries

The `revenue_entries` table contains info about revenue entries.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | modified |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/115003674273-Revenue-Entries-R- "Opens in new tab: SaaSOptics API method") |

revenue\_entries table schema

| **end\_date**<br><br><br>DATE-TIME |
| --- |
| **home\_amount**<br><br><br>NUMBER |
| **id**<br><br><br>INTEGER |
| **local\_amount**<br><br><br>NUMBER |
| **modified**<br><br><br>DATE-TIME |
| **start\_date**<br><br><br>DATE-TIME |
| **transaction**<br><br><br>INTEGER |

### revenue\_recognition\_methods

The `revenue_recognition_methods` table contains info about revenue recognition methods, which are the methods for calculating and generating revenue records for a transaction.

| **Replication Method** | Full Table |
| --- | --- |
| **Primary Key** | id |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/115003617774-Revenue-Recognition-Methods-R- "Opens in new tab: SaaSOptics API method") |

revenue\_recognition\_methods table schema

| **id**<br><br><br>INTEGER |
| --- |
| **name**<br><br><br>STRING |

### sales\_orders

The `sales_orders` table contains info about sales orders, which have historically been synced in through the Salesforce integration and processed into financial records within SaaSOptics.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | created |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/360000738813-Sales-Orders-CR- "Opens in new tab: SaaSOptics API method") |

sales\_orders table schema

| **close\_date**<br><br><br>DATE-TIME |
| --- |
| **contract\_channel**<br><br><br>STRING |
| **contract\_email**<br><br><br>STRING |
| **contract\_entry\_date**<br><br><br>DATE-TIME |
| **contract\_is\_job**<br><br><br>BOOLEAN |
| **contract\_lead\_date**<br><br><br>DATE-TIME |
| **contract\_lead\_source**<br><br><br>STRING |
| **contract\_notes**<br><br><br>STRING |
| **contract\_number**<br><br><br>STRING |
| **contract\_number\_field1**<br><br><br>NUMBER |
| **contract\_number\_field2**<br><br><br>NUMBER |
| **contract\_register\_name**<br><br><br>STRING |
| **contract\_sf\_id**<br><br><br>STRING |
| **contract\_text\_field1**<br><br><br>STRING |
| **contract\_text\_field2**<br><br><br>STRING |
| **contract\_unbalanced\_revenue\_exception**<br><br><br>BOOLEAN |
| **created**<br><br><br>DATE-TIME |
| **created\_by\_username**<br><br><br>STRING |
| **customer\_account\_number**<br><br><br>STRING |
| **customer\_alt\_contact**<br><br><br>STRING |
| **customer\_alt\_phone**<br><br><br>STRING |
| **customer\_autopay\_enrollment**<br><br><br>STRING |
| **customer\_billing\_addr3**<br><br><br>STRING |
| **customer\_billing\_city**<br><br><br>STRING |
| **customer\_billing\_country**<br><br><br>STRING |
| **customer\_billing\_state**<br><br><br>STRING |
| **customer\_billing\_street**<br><br><br>STRING |
| **customer\_billing\_zip\_code**<br><br><br>STRING |
| **customer\_code**<br><br><br>STRING |
| **customer\_contact**<br><br><br>STRING |
| **customer\_crm\_id**<br><br><br>STRING |
| **customer\_currency**<br><br><br>STRING |
| **customer\_default\_autorenewal\_profile**<br><br><br>STRING |
| **customer\_default\_cadence\_template**<br><br><br>STRING |
| **customer\_default\_email\_from\_so**<br><br><br>STRING |
| **customer\_default\_enable\_ach\_payment**<br><br><br>BOOLEAN |
| **customer\_default\_enable\_cc\_payment**<br><br><br>BOOLEAN |
| **customer\_default\_invoice\_template**<br><br><br>STRING |
| **customer\_default\_theme**<br><br><br>STRING |
| **customer\_do\_not\_sync**<br><br><br>BOOLEAN |
| **customer\_email**<br><br><br>STRING |
| **customer\_enable\_autopay**<br><br><br>BOOLEAN |
| **customer\_entity\_use\_code**<br><br><br>STRING |
| **customer\_fax**<br><br><br>STRING |
| **customer\_first\_name**<br><br><br>STRING |
| **customer\_industry**<br><br><br>STRING |
| **customer\_invoice\_email\_preference**<br><br><br>BOOLEAN |
| **customer\_invoice\_print\_preference**<br><br><br>BOOLEAN |
| **customer\_item\_sales\_tax**<br><br><br>STRING |
| **customer\_last\_name**<br><br><br>STRING |
| **customer\_market**<br><br><br>STRING |
| **customer\_name**<br><br><br>STRING |
| **customer\_notes**<br><br><br>STRING |
| **customer\_number**<br><br><br>STRING |
| **customer\_number\_field1**<br><br><br>NUMBER |
| **customer\_number\_field2**<br><br><br>NUMBER |
| **customer\_number\_field3**<br><br><br>NUMBER |
| **customer\_parent**<br><br><br>STRING |
| **customer\_payment\_terms**<br><br><br>STRING |
| **customer\_phone**<br><br><br>STRING |
| **customer\_resale\_number**<br><br><br>STRING |
| **customer\_sales\_rep**<br><br><br>STRING |
| **customer\_sales\_tax\_code**<br><br><br>STRING |
| **customer\_salutation**<br><br><br>STRING |
| **customer\_segment**<br><br><br>STRING |
| **customer\_sf\_default\_renewal\_opportunity\_rule**<br><br><br>STRING |
| **customer\_sf\_opportunity\_price\_book\_id**<br><br><br>STRING |
| **customer\_sf\_owner\_id**<br><br><br>STRING |
| **customer\_sfdc\_object\_id**<br><br><br>STRING |
| **customer\_shipping\_addr3**<br><br><br>STRING |
| **customer\_shipping\_city**<br><br><br>STRING |
| **customer\_shipping\_country**<br><br><br>STRING |
| **customer\_shipping\_state**<br><br><br>STRING |
| **customer\_shipping\_street**<br><br><br>STRING |
| **customer\_shipping\_zip\_code**<br><br><br>STRING |
| **customer\_subsegment**<br><br><br>STRING |
| **customer\_text\_field1**<br><br><br>STRING |
| **customer\_text\_field2**<br><br><br>STRING |
| **customer\_text\_field3**<br><br><br>STRING |
| **customer\_type**<br><br><br>STRING |
| **customer\_unbalanced\_revenue\_exception**<br><br><br>BOOLEAN |
| **id**<br><br><br>INTEGER |
| **line\_items**<br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li>affected_transaction: STRING</li><li>created: DATE-TIME</li><li>created_by_username: STRING</li><li>id: INTEGER</li><li>invoice_billing_addr1: STRING</li><li>invoice_billing_addr2: STRING</li><li>invoice_billing_addr3: STRING</li><li>invoice_billing_city: STRING</li><li>invoice_billing_country: STRING</li><li>invoice_billing_state: STRING</li><li>invoice_billing_zip_code: STRING</li><li>invoice_cadence_template: STRING</li><li>invoice_date: STRING</li><li>invoice_do_not_sync: BOOLEAN</li><li>invoice_ei_combine_all_description: STRING</li><li>invoice_ei_combine_lines: STRING</li><li>invoice_ei_theme: STRING</li><li>invoice_email_from_so: BOOLEAN</li><li>invoice_enable_ach_payment: BOOLEAN</li><li>invoice_enable_cc_payment: BOOLEAN</li><li>invoice_ignore_date_when_syncing: BOOLEAN</li><li>invoice_memo: STRING</li><li>invoice_other: STRING</li><li>invoice_payment_terms: STRING</li><li>invoice_po_number: STRING</li><li>invoice_qb_class: STRING</li><li>invoice_qb_customer_message: STRING</li><li>invoice_qb_payment_terms: STRING</li><li>invoice_qb_sales_rep: STRING</li><li>invoice_qb_template: STRING</li><li>invoice_ship_date: DATE-TIME</li><li>invoice_shipping_addr1: STRING</li><li>invoice_shipping_addr2: STRING</li><li>invoice_shipping_addr3: STRING</li><li>invoice_shipping_city: STRING</li><li>invoice_shipping_country: STRING</li><li>invoice_shipping_state: STRING</li><li>invoice_shipping_zip_code: STRING</li><li>invoice_suppress_zero_value_line_items: BOOLEAN</li><li>invoice_to_be_emailed: BOOLEAN</li><li>invoice_to_be_printed: BOOLEAN</li><li>line_item_id: STRING</li><li>processed: BOOLEAN</li><li>project_template: STRING</li><li>renewed_transaction: STRING</li><li>sfdc_object_type: STRING</li><li>transaction_action: STRING</li><li>transaction_amount: NUMBER</li><li>transaction_amount_after_discount: NUMBER</li><li>transaction_arr_amount: NUMBER</li><li>transaction_billing_method: STRING</li><li>transaction_conversion: STRING</li><li>transaction_crm_opportunity_id: STRING</li><li>transaction_crm_opportunity_line_item_id: STRING</li><li>transaction_discount_amount: NUMBER</li><li>transaction_duration: STRING</li><li>transaction_effective_change_date: DATE-TIME</li><li>transaction_effective_end_date: DATE-TIME</li><li>transaction_end_date: DATE-TIME</li><li>transaction_flagged: STRING</li><li>transaction_foreign_exchange_rate: NUMBER</li><li>transaction_generate_invoices: BOOLEAN</li><li>transaction_generate_revenue: BOOLEAN</li><li>transaction_ili_description: STRING</li><li>transaction_ili_qb_class: STRING</li><li>transaction_invoice_end_date: DATE-TIME</li><li>transaction_invoice_quantity: NUMBER</li><li>transaction_invoice_start_date: DATE-TIME</li><li>transaction_item_class_name: STRING</li><li>transaction_item_code: STRING</li><li>transaction_item_name: STRING</li><li>transaction_monthly_rate: NUMBER</li><li>transaction_normalized_amount: NUMBER</li><li>transaction_normalized_term: STRING</li><li>transaction_notes: STRING</li><li>transaction_number_field1: NUMBER</li><li>transaction_number_field2: NUMBER</li><li>transaction_order_date: DATE-TIME</li><li>transaction_order_number: STRING</li><li>transaction_quantity: NUMBER</li><li>transaction_recognize: BOOLEAN</li><li>transaction_renew_using_item: STRING</li><li>transaction_renewal_amount: NUMBER</li><li>transaction_renewal_amount_percentage: NUMBER</li><li>transaction_renewal_duration: STRING</li><li>transaction_renewal_factor: STRING</li><li>transaction_renewal_probability: NUMBER</li><li>transaction_renewal_quantity: NUMBER</li><li>transaction_revenue_amount: NUMBER</li><li>transaction_revenue_end_date: DATE-TIME</li><li>transaction_revenue_recognition_method: STRING</li><li>transaction_revenue_start_date: DATE-TIME</li><li>transaction_sales_manager: STRING</li><li>transaction_sales_rep: STRING</li><li>transaction_sf_group_id: STRING</li><li>transaction_sf_id: STRING</li><li>transaction_sf_renewal_opportunitiy_rule: STRING</li><li>transaction_start_date: DATE-TIME</li><li>transaction_term_number: INTEGER</li><li>transaction_text_field1: STRING</li><li>transaction_text_field2: STRING</li><li>transaction_unbalanced_revenue_exception: BOOLEAN</li></ul> |
| **name**<br><br><br>STRING |
| **order\_notes**<br><br><br>STRING |
| **order\_total**<br><br><br>STRING |
| **project\_name**<br><br><br>STRING |
| **project\_template**<br><br><br>STRING |
| **quickbooks\_job\_account\_number**<br><br><br>STRING |
| **quickbooks\_job\_addr1**<br><br><br>STRING |
| **quickbooks\_job\_addr2**<br><br><br>STRING |
| **quickbooks\_job\_addr3**<br><br><br>STRING |
| **quickbooks\_job\_alt\_contact**<br><br><br>STRING |
| **quickbooks\_job\_alt\_phone**<br><br><br>STRING |
| **quickbooks\_job\_city**<br><br><br>STRING |
| **quickbooks\_job\_company\_name**<br><br><br>STRING |
| **quickbooks\_job\_contact**<br><br><br>STRING |
| **quickbooks\_job\_country**<br><br><br>STRING |
| **quickbooks\_job\_default\_credit\_memo\_template**<br><br><br>STRING |
| **quickbooks\_job\_default\_invoice\_template**<br><br><br>STRING |
| **quickbooks\_job\_description**<br><br><br>STRING |
| **quickbooks\_job\_email**<br><br><br>STRING |
| **quickbooks\_job\_end\_date**<br><br><br>DATE-TIME |
| **quickbooks\_job\_fax**<br><br><br>STRING |
| **quickbooks\_job\_first\_name**<br><br><br>STRING |
| **quickbooks\_job\_invoice\_email\_preference**<br><br><br>BOOLEAN |
| **quickbooks\_job\_invoice\_print\_preference**<br><br><br>BOOLEAN |
| **quickbooks\_job\_is\_active**<br><br><br>BOOLEAN |
| **quickbooks\_job\_last\_name**<br><br><br>STRING |
| **quickbooks\_job\_name**<br><br><br>STRING |
| **quickbooks\_job\_payment\_terms**<br><br><br>STRING |
| **quickbooks\_job\_phone**<br><br><br>STRING |
| **quickbooks\_job\_projected\_end\_date**<br><br><br>DATE-TIME |
| **quickbooks\_job\_resale\_number**<br><br><br>STRING |
| **quickbooks\_job\_sales\_rep**<br><br><br>STRING |
| **quickbooks\_job\_salutation**<br><br><br>STRING |
| **quickbooks\_job\_shipping\_addr1**<br><br><br>STRING |
| **quickbooks\_job\_shipping\_addr2**<br><br><br>STRING |
| **quickbooks\_job\_shipping\_addr3**<br><br><br>STRING |
| **quickbooks\_job\_shipping\_city**<br><br><br>STRING |
| **quickbooks\_job\_shipping\_country**<br><br><br>STRING |
| **quickbooks\_job\_shipping\_state**<br><br><br>STRING |
| **quickbooks\_job\_shipping\_zip\_code**<br><br><br>STRING |
| **quickbooks\_job\_start\_date**<br><br><br>DATE-TIME |
| **quickbooks\_job\_state**<br><br><br>STRING |
| **quickbooks\_job\_status**<br><br><br>STRING |
| **quickbooks\_job\_type**<br><br><br>STRING |
| **quickbooks\_job\_zip\_code**<br><br><br>STRING |
| **sales\_order\_id**<br><br><br>STRING |
| **stage\_name**<br><br><br>STRING |
| **type**<br><br><br>STRING |

### transactions

The `transactions` table contains info about transactions.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | modified |
| **Useful links** | [SaaSOptics API method](https://saasoptics.zendesk.com/hc/en-us/articles/360000066333-Transactions-CRUD- "Opens in new tab: SaaSOptics API method") |

transactions table schema

| **always\_use\_amount\_as\_normalized\_amount**<br><br><br>BOOLEAN |
| --- |
| **auditentry\_created**<br><br><br>DATE-TIME |
| **auditentry\_created\_by\_name**<br><br><br>STRING |
| **auditentry\_modified**<br><br><br>DATE-TIME |
| **auditentry\_modified\_by\_name**<br><br><br>STRING |
| **automatically\_update\_revenue**<br><br><br>BOOLEAN |
| **autorenewal\_profile**<br><br><br>INTEGER |
| **billing\_method**<br><br><br>INTEGER |
| **cancelled**<br><br><br>BOOLEAN |
| **contract**<br><br><br>INTEGER |
| **conversion**<br><br><br>STRING |
| **crm\_opportunity\_id**<br><br><br>STRING |
| **crm\_opportunity\_line\_item\_id**<br><br><br>STRING |
| **different\_invoice\_item\_permitted**<br><br><br>BOOLEAN |
| **do\_not\_sync\_invoices**<br><br><br>BOOLEAN |
| **duration**<br><br><br>STRING |
| **end\_date**<br><br><br>DATE-TIME |
| **flagged**<br><br><br>STRING |
| **foreign\_exchange\_rate**<br><br><br>NUMBER |
| **home\_amount**<br><br><br>NUMBER |
| **home\_arr\_amount**<br><br><br>NUMBER |
| **home\_normalized\_amount**<br><br><br>NUMBER |
| **home\_normalized\_rate**<br><br><br>NUMBER |
| **home\_rate**<br><br><br>NUMBER |
| **id**<br><br><br>INTEGER |
| **ili\_qb\_class**<br><br><br>STRING |
| **invoice\_description**<br><br><br>STRING |
| **is\_autorenewal**<br><br><br>BOOLEAN |
| **item**<br><br><br>INTEGER |
| **item\_class**<br><br><br>INTEGER |
| **local\_amount**<br><br><br>NUMBER |
| **local\_arr\_amount**<br><br><br>NUMBER |
| **local\_normalized\_amount**<br><br><br>NUMBER |
| **local\_normalized\_rate**<br><br><br>NUMBER |
| **local\_rate**<br><br><br>NUMBER |
| **modified**<br><br><br>DATE-TIME |
| **monthyear**<br><br><br>STRING |
| **notes**<br><br><br>STRING |
| **number**<br><br><br>STRING |
| **number\_field1**<br><br><br>NUMBER |
| **number\_field2**<br><br><br>NUMBER |
| **order\_date**<br><br><br>DATE-TIME |
| **order\_number**<br><br><br>STRING |
| **project**<br><br><br>INTEGER |
| **quantity**<br><br><br>NUMBER |
| **recognize**<br><br><br>BOOLEAN |
| **reconcile\_required**<br><br><br>BOOLEAN |
| **renew\_using\_item**<br><br><br>INTEGER |
| **renewal\_amount**<br><br><br>NUMBER |
| **renewal\_amount\_percentage**<br><br><br>NUMBER |
| **renewal\_amount\_value**<br><br><br>NUMBER |
| **renewal\_duration**<br><br><br>STRING |
| **renewal\_factor**<br><br><br>INTEGER |
| **renewal\_of\_set**<br><br><br>ARRAY |
| **renewal\_probability**<br><br><br>NUMBER |
| **renewal\_quantity**<br><br><br>NUMBER |
| **revenue\_amount**<br><br><br>NUMBER |
| **revenue\_notes**<br><br><br>STRING |
| **sales\_manager**<br><br><br>STRING |
| **sales\_rep**<br><br><br>STRING |
| **sf\_group\_id**<br><br><br>STRING |
| **sf\_id**<br><br><br>STRING |
| **sf\_opportunity\_id**<br><br><br>STRING |
| **sf\_opportunity\_line\_item\_id**<br><br><br>STRING |
| **sf\_renewal\_opportunity\_id**<br><br><br>STRING |
| **sf\_renewal\_opportunity\_line\_item\_id**<br><br><br>STRING |
| **sf\_renewal\_opportunity\_rule**<br><br><br>STRING |
| **start\_date**<br><br><br>DATE-TIME |
| **term\_number**<br><br><br>INTEGER |
| **text\_field1**<br><br><br>STRING |
| **text\_field2**<br><br><br>STRING |
| **unbalanced\_revenue\_exception**<br><br><br>BOOLEAN |