Source Quickbooks: migrate to low-code (#24324)
* Source Quickbooks: migrate to low-code * Source Quickbooks: add oauth flow * #24658 Lowcode CDK: implement single use refresh token oauth authenticator * #23498 source Quickbooks: set up CATs * #24658 lowcode cdk: review fixes * upd manifest version + airbyte cdk version * delete source-quickbooks-singer along with seed * Automated Change * update docs and spec.json * revert data type map in docs * Automated Change * quickbooks: review fixes * quickbooks: more review fixes * quickbooks: modify spec * quickbooks: rename icon * quickbooks: generate definitions --------- Co-authored-by: Denys Davydov <davydov.den18@gmail.com> Co-authored-by: davydov-d <davydov-d@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
a26bd9284a
commit
a992167f90
|
Before Width: | Height: | Size: 643 B After Width: | Height: | Size: 643 B |
@@ -21693,58 +21693,84 @@
|
||||
"custom": false,
|
||||
"releaseStage": "alpha"
|
||||
}, {
|
||||
"sourceDefinitionId": "29b409d9-30a5-4cc8-ad50-886eb846fea3",
|
||||
"sourceDefinitionId": "cf9c4355-b171-4477-8f2d-6c5cc5fc8b7e",
|
||||
"name": "QuickBooks",
|
||||
"dockerRepository": "airbyte/source-quickbooks-singer",
|
||||
"dockerImageTag": "0.1.5",
|
||||
"documentationUrl": "https://docs.airbyte.com/integrations/sources/quickbooks-singer",
|
||||
"icon": "qb.svg",
|
||||
"dockerRepository": "airbyte/source-quickbooks",
|
||||
"dockerImageTag": "1.0.0",
|
||||
"documentationUrl": "https://docs.airbyte.com/integrations/sources/quickbooks",
|
||||
"icon": "quickbooks.svg",
|
||||
"sourceType": "api",
|
||||
"spec": {
|
||||
"documentationUrl": "https://docs.airbyte.com/integrations/sources/quickbooks-singer",
|
||||
"documentationUrl": "https://docs.airbyte.com/integrations/sources/quickbooks",
|
||||
"connectionSpecification": {
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Source QuickBooks Singer Spec",
|
||||
"title": "Source QuickBooks Spec",
|
||||
"type": "object",
|
||||
"required": [ "client_id", "client_secret", "refresh_token", "realm_id", "user_agent", "start_date", "sandbox" ],
|
||||
"additionalProperties": false,
|
||||
"required": [ "credentials", "start_date", "sandbox" ],
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"client_id": {
|
||||
"type": "string",
|
||||
"title": "Client ID",
|
||||
"description": "Identifies which app is making the request. Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production."
|
||||
},
|
||||
"client_secret": {
|
||||
"description": " Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production.",
|
||||
"title": "Client Secret",
|
||||
"type": "string",
|
||||
"airbyte_secret": true
|
||||
},
|
||||
"refresh_token": {
|
||||
"description": "A token used when refreshing the access token.",
|
||||
"title": "Refresh Token",
|
||||
"type": "string",
|
||||
"airbyte_secret": true
|
||||
},
|
||||
"realm_id": {
|
||||
"description": "Labeled Company ID. The Make API Calls panel is populated with the realm id and the current access token.",
|
||||
"title": "Realm ID",
|
||||
"type": "string",
|
||||
"airbyte_secret": true
|
||||
},
|
||||
"user_agent": {
|
||||
"type": "string",
|
||||
"title": "User Agent",
|
||||
"description": "Process and email for API logging purposes. Example: tap-quickbooks <api_user_email@your_company.com>."
|
||||
"credentials": {
|
||||
"title": "Authorization Method",
|
||||
"type": "object",
|
||||
"order": 0,
|
||||
"oneOf": [ {
|
||||
"type": "object",
|
||||
"title": "OAuth2.0",
|
||||
"required": [ "client_id", "client_secret", "refresh_token", "access_token", "token_expiry_date", "realm_id" ],
|
||||
"properties": {
|
||||
"auth_type": {
|
||||
"type": "string",
|
||||
"const": "oauth2.0"
|
||||
},
|
||||
"client_id": {
|
||||
"type": "string",
|
||||
"title": "Client ID",
|
||||
"description": "Identifies which app is making the request. Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production."
|
||||
},
|
||||
"client_secret": {
|
||||
"description": " Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production.",
|
||||
"title": "Client Secret",
|
||||
"type": "string",
|
||||
"airbyte_secret": true
|
||||
},
|
||||
"refresh_token": {
|
||||
"description": "A token used when refreshing the access token.",
|
||||
"title": "Refresh Token",
|
||||
"type": "string",
|
||||
"airbyte_secret": true
|
||||
},
|
||||
"access_token": {
|
||||
"description": "Access token fot making authenticated requests.",
|
||||
"title": "Access Token",
|
||||
"type": "string",
|
||||
"airbyte_secret": true
|
||||
},
|
||||
"token_expiry_date": {
|
||||
"type": "string",
|
||||
"title": "Token Expiry Date",
|
||||
"description": "The date-time when the access token should be refreshed.",
|
||||
"format": "date-time"
|
||||
},
|
||||
"realm_id": {
|
||||
"description": "Labeled Company ID. The Make API Calls panel is populated with the realm id and the current access token.",
|
||||
"title": "Realm ID",
|
||||
"type": "string",
|
||||
"airbyte_secret": true
|
||||
}
|
||||
}
|
||||
} ]
|
||||
},
|
||||
"start_date": {
|
||||
"description": "The default value to use if no bookmark exists for an endpoint (rfc3339 date string). E.g, 2021-03-20T00:00:00Z. Any data before this date will not be replicated.",
|
||||
"order": 1,
|
||||
"description": "The default value to use if no bookmark exists for an endpoint (rfc3339 date string). E.g, 2021-03-20T00:00:00+00:00. Any data before this date will not be replicated.",
|
||||
"title": "Start Date",
|
||||
"type": "string",
|
||||
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$",
|
||||
"examples": [ "2021-03-20T00:00:00Z" ]
|
||||
"format": "date-time",
|
||||
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}[+-][0-9]{2}:[0-9]{2}",
|
||||
"examples": [ "2021-03-20T00:00:00+00:00" ]
|
||||
},
|
||||
"sandbox": {
|
||||
"order": 2,
|
||||
"description": "Determines whether to use the sandbox or production environment.",
|
||||
"title": "Sandbox",
|
||||
"type": "boolean",
|
||||
@@ -21754,12 +21780,71 @@
|
||||
},
|
||||
"supportsNormalization": false,
|
||||
"supportsDBT": false,
|
||||
"supported_destination_sync_modes": [ ]
|
||||
"supported_destination_sync_modes": [ ],
|
||||
"advanced_auth": {
|
||||
"auth_flow_type": "oauth2.0",
|
||||
"predicate_key": [ "credentials", "auth_type" ],
|
||||
"predicate_value": "oauth2.0",
|
||||
"oauth_config_specification": {
|
||||
"complete_oauth_output_specification": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"access_token": {
|
||||
"type": "string",
|
||||
"path_in_connector_config": [ "credentials", "access_token" ]
|
||||
},
|
||||
"refresh_token": {
|
||||
"type": "string",
|
||||
"path_in_connector_config": [ "credentials", "refresh_token" ]
|
||||
},
|
||||
"token_expiry_date": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"path_in_connector_config": [ "credentials", "token_expiry_date" ]
|
||||
},
|
||||
"realm_id": {
|
||||
"type": "string",
|
||||
"path_in_connector_config": [ "credentials", "realm_id" ]
|
||||
}
|
||||
}
|
||||
},
|
||||
"complete_oauth_server_input_specification": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"client_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"client_secret": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"complete_oauth_server_output_specification": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"client_id": {
|
||||
"type": "string",
|
||||
"path_in_connector_config": [ "credentials", "client_id" ]
|
||||
},
|
||||
"client_secret": {
|
||||
"type": "string",
|
||||
"path_in_connector_config": [ "credentials", "client_secret" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tombstone": false,
|
||||
"public": true,
|
||||
"custom": false,
|
||||
"releaseStage": "alpha"
|
||||
"releaseStage": "alpha",
|
||||
"allowedHosts": {
|
||||
"hosts": [ "sandbox-quickbooks.api.intuit.com", "quickbooks.api.intuit.com", "oauth.platform.intuit.com" ]
|
||||
}
|
||||
}, {
|
||||
"sourceDefinitionId": "9b6cc0c0-da81-4103-bbfd-5279e18a849a",
|
||||
"name": "Railz",
|
||||
|
||||
@@ -1678,13 +1678,18 @@
|
||||
sourceType: api
|
||||
releaseStage: alpha
|
||||
- name: QuickBooks
|
||||
sourceDefinitionId: 29b409d9-30a5-4cc8-ad50-886eb846fea3
|
||||
dockerRepository: airbyte/source-quickbooks-singer
|
||||
dockerImageTag: 0.1.5
|
||||
documentationUrl: https://docs.airbyte.com/integrations/sources/quickbooks-singer
|
||||
icon: qb.svg
|
||||
sourceDefinitionId: cf9c4355-b171-4477-8f2d-6c5cc5fc8b7e
|
||||
dockerRepository: airbyte/source-quickbooks
|
||||
dockerImageTag: 1.0.0
|
||||
documentationUrl: https://docs.airbyte.com/integrations/sources/quickbooks
|
||||
icon: quickbooks.svg
|
||||
sourceType: api
|
||||
releaseStage: alpha
|
||||
allowedHosts:
|
||||
hosts:
|
||||
- "sandbox-quickbooks.api.intuit.com"
|
||||
- "quickbooks.api.intuit.com"
|
||||
- "oauth.platform.intuit.com"
|
||||
- name: Railz
|
||||
sourceDefinitionId: 9b6cc0c0-da81-4103-bbfd-5279e18a849a
|
||||
dockerRepository: airbyte/source-railz
|
||||
|
||||
@@ -12748,62 +12748,85 @@
|
||||
oauthFlowOutputParameters:
|
||||
- - "token"
|
||||
- - "key"
|
||||
- dockerImage: "airbyte/source-quickbooks-singer:0.1.5"
|
||||
- dockerImage: "airbyte/source-quickbooks:1.0.0"
|
||||
spec:
|
||||
documentationUrl: "https://docs.airbyte.com/integrations/sources/quickbooks-singer"
|
||||
documentationUrl: "https://docs.airbyte.com/integrations/sources/quickbooks"
|
||||
connectionSpecification:
|
||||
$schema: "http://json-schema.org/draft-07/schema#"
|
||||
title: "Source QuickBooks Singer Spec"
|
||||
title: "Source QuickBooks Spec"
|
||||
type: "object"
|
||||
required:
|
||||
- "client_id"
|
||||
- "client_secret"
|
||||
- "refresh_token"
|
||||
- "realm_id"
|
||||
- "user_agent"
|
||||
- "credentials"
|
||||
- "start_date"
|
||||
- "sandbox"
|
||||
additionalProperties: false
|
||||
additionalProperties: true
|
||||
properties:
|
||||
client_id:
|
||||
type: "string"
|
||||
title: "Client ID"
|
||||
description: "Identifies which app is making the request. Obtain this value\
|
||||
\ from the Keys tab on the app profile via My Apps on the developer site.\
|
||||
\ There are two versions of this key: development and production."
|
||||
client_secret:
|
||||
description: " Obtain this value from the Keys tab on the app profile via\
|
||||
\ My Apps on the developer site. There are two versions of this key: development\
|
||||
\ and production."
|
||||
title: "Client Secret"
|
||||
type: "string"
|
||||
airbyte_secret: true
|
||||
refresh_token:
|
||||
description: "A token used when refreshing the access token."
|
||||
title: "Refresh Token"
|
||||
type: "string"
|
||||
airbyte_secret: true
|
||||
realm_id:
|
||||
description: "Labeled Company ID. The Make API Calls panel is populated\
|
||||
\ with the realm id and the current access token."
|
||||
title: "Realm ID"
|
||||
type: "string"
|
||||
airbyte_secret: true
|
||||
user_agent:
|
||||
type: "string"
|
||||
title: "User Agent"
|
||||
description: "Process and email for API logging purposes. Example: tap-quickbooks\
|
||||
\ <api_user_email@your_company.com>."
|
||||
credentials:
|
||||
title: "Authorization Method"
|
||||
type: "object"
|
||||
order: 0
|
||||
oneOf:
|
||||
- type: "object"
|
||||
title: "OAuth2.0"
|
||||
required:
|
||||
- "client_id"
|
||||
- "client_secret"
|
||||
- "refresh_token"
|
||||
- "access_token"
|
||||
- "token_expiry_date"
|
||||
- "realm_id"
|
||||
properties:
|
||||
auth_type:
|
||||
type: "string"
|
||||
const: "oauth2.0"
|
||||
client_id:
|
||||
type: "string"
|
||||
title: "Client ID"
|
||||
description: "Identifies which app is making the request. Obtain this\
|
||||
\ value from the Keys tab on the app profile via My Apps on the\
|
||||
\ developer site. There are two versions of this key: development\
|
||||
\ and production."
|
||||
client_secret:
|
||||
description: " Obtain this value from the Keys tab on the app profile\
|
||||
\ via My Apps on the developer site. There are two versions of this\
|
||||
\ key: development and production."
|
||||
title: "Client Secret"
|
||||
type: "string"
|
||||
airbyte_secret: true
|
||||
refresh_token:
|
||||
description: "A token used when refreshing the access token."
|
||||
title: "Refresh Token"
|
||||
type: "string"
|
||||
airbyte_secret: true
|
||||
access_token:
|
||||
description: "Access token fot making authenticated requests."
|
||||
title: "Access Token"
|
||||
type: "string"
|
||||
airbyte_secret: true
|
||||
token_expiry_date:
|
||||
type: "string"
|
||||
title: "Token Expiry Date"
|
||||
description: "The date-time when the access token should be refreshed."
|
||||
format: "date-time"
|
||||
realm_id:
|
||||
description: "Labeled Company ID. The Make API Calls panel is populated\
|
||||
\ with the realm id and the current access token."
|
||||
title: "Realm ID"
|
||||
type: "string"
|
||||
airbyte_secret: true
|
||||
start_date:
|
||||
order: 1
|
||||
description: "The default value to use if no bookmark exists for an endpoint\
|
||||
\ (rfc3339 date string). E.g, 2021-03-20T00:00:00Z. Any data before this\
|
||||
\ date will not be replicated."
|
||||
\ (rfc3339 date string). E.g, 2021-03-20T00:00:00+00:00. Any data before\
|
||||
\ this date will not be replicated."
|
||||
title: "Start Date"
|
||||
type: "string"
|
||||
pattern: "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
|
||||
format: "date-time"
|
||||
pattern: "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}[+-][0-9]{2}:[0-9]{2}"
|
||||
examples:
|
||||
- "2021-03-20T00:00:00Z"
|
||||
- "2021-03-20T00:00:00+00:00"
|
||||
sandbox:
|
||||
order: 2
|
||||
description: "Determines whether to use the sandbox or production environment."
|
||||
title: "Sandbox"
|
||||
type: "boolean"
|
||||
@@ -12811,6 +12834,60 @@
|
||||
supportsNormalization: false
|
||||
supportsDBT: false
|
||||
supported_destination_sync_modes: []
|
||||
advanced_auth:
|
||||
auth_flow_type: "oauth2.0"
|
||||
predicate_key:
|
||||
- "credentials"
|
||||
- "auth_type"
|
||||
predicate_value: "oauth2.0"
|
||||
oauth_config_specification:
|
||||
complete_oauth_output_specification:
|
||||
type: "object"
|
||||
additionalProperties: true
|
||||
properties:
|
||||
access_token:
|
||||
type: "string"
|
||||
path_in_connector_config:
|
||||
- "credentials"
|
||||
- "access_token"
|
||||
refresh_token:
|
||||
type: "string"
|
||||
path_in_connector_config:
|
||||
- "credentials"
|
||||
- "refresh_token"
|
||||
token_expiry_date:
|
||||
type: "string"
|
||||
format: "date-time"
|
||||
path_in_connector_config:
|
||||
- "credentials"
|
||||
- "token_expiry_date"
|
||||
realm_id:
|
||||
type: "string"
|
||||
path_in_connector_config:
|
||||
- "credentials"
|
||||
- "realm_id"
|
||||
complete_oauth_server_input_specification:
|
||||
type: "object"
|
||||
additionalProperties: true
|
||||
properties:
|
||||
client_id:
|
||||
type: "string"
|
||||
client_secret:
|
||||
type: "string"
|
||||
complete_oauth_server_output_specification:
|
||||
type: "object"
|
||||
additionalProperties: true
|
||||
properties:
|
||||
client_id:
|
||||
type: "string"
|
||||
path_in_connector_config:
|
||||
- "credentials"
|
||||
- "client_id"
|
||||
client_secret:
|
||||
type: "string"
|
||||
path_in_connector_config:
|
||||
- "credentials"
|
||||
- "client_secret"
|
||||
- dockerImage: "airbyte/source-railz:0.1.1"
|
||||
spec:
|
||||
documentationUrl: "https://docsurl.com"
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
*
|
||||
!Dockerfile
|
||||
!Dockerfile.test
|
||||
!main.py
|
||||
!source_quickbooks_singer
|
||||
!setup.py
|
||||
!secrets
|
||||
@@ -1 +0,0 @@
|
||||
NEW_SOURCE_CHECKLIST.md
|
||||
@@ -1,128 +0,0 @@
|
||||
# Source QuickBooks Singer
|
||||
|
||||
This is the repository for the QuickBooks source connector, based on a Singer tap.
|
||||
For information about how to use this connector within Airbyte, see [the User Documentation](https://docs.airbyte.io/integrations/sources/quickbooks-singer).
|
||||
|
||||
## Local development
|
||||
|
||||
### Prerequisites
|
||||
|
||||
**To iterate on this connector, make sure to complete this prerequisites section.**
|
||||
|
||||
#### Minimum Python version required `= 3.7.0`
|
||||
|
||||
#### Build & Activate Virtual Environment and install dependencies
|
||||
|
||||
From this connector directory, create a virtual environment:
|
||||
|
||||
```
|
||||
python3 -m venv .venv
|
||||
```
|
||||
|
||||
This will generate a virtualenv for this module in `.venv/`. Make sure this venv is active in your
|
||||
development environment of choice. To activate it from the terminal, run:
|
||||
|
||||
```
|
||||
source .venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
If you are in an IDE, follow your IDE's instructions to activate the virtualenv.
|
||||
|
||||
Note that while we are installing dependencies from `requirements.txt`, you should only edit `setup.py` for your dependencies. `requirements.txt` is
|
||||
used for editable installs (`pip install -e`) to pull in Python dependencies from the monorepo and will call `setup.py`.
|
||||
If this is mumbo jumbo to you, don't worry about it, just put your deps in `setup.py` but install using `pip install -r requirements.txt` and everything
|
||||
should work as you expect.
|
||||
|
||||
#### Building via Gradle
|
||||
|
||||
From the Airbyte repository root, run:
|
||||
|
||||
```
|
||||
./gradlew :airbyte-integrations:connectors:source-quickbooks:build
|
||||
```
|
||||
|
||||
#### Create credentials
|
||||
|
||||
**If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.io/integrations/sources/quickbooks-singer)
|
||||
to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `source_quickbooks_singer/spec.json` file.
|
||||
Note that the `secrets` directory is gitignored by default, so there is no danger of accidentally checking in sensitive information.
|
||||
See `sample_files/sample_config.json` for a sample config file.
|
||||
|
||||
**If you are an Airbyte core member**, copy the credentials in Lastpass under the secret name `source quickbooks test creds`
|
||||
and place them into `secrets/config.json`.
|
||||
|
||||
### Locally running the connector
|
||||
|
||||
```
|
||||
python main.py spec
|
||||
python main.py check --config secrets/config.json
|
||||
python main.py discover --config secrets/config.json
|
||||
python main.py read --config secrets/config.json --catalog integration_tests/configured_catalog.json
|
||||
```
|
||||
|
||||
### Unit Tests
|
||||
|
||||
To run unit tests locally, from the connector root run:
|
||||
|
||||
```
|
||||
pytest unit_tests
|
||||
```
|
||||
|
||||
### Unit Tests
|
||||
|
||||
To run unit tests locally, from the connector directory run:
|
||||
|
||||
```
|
||||
python3 -m pytest unit_tests
|
||||
```
|
||||
|
||||
### Locally running the connector docker image
|
||||
|
||||
#### Build
|
||||
|
||||
First, make sure you build the latest Docker image:
|
||||
|
||||
```
|
||||
docker build . -t airbyte/source-quickbooks-singer:dev
|
||||
```
|
||||
|
||||
You can also build the connector image via Gradle:
|
||||
|
||||
```
|
||||
./gradlew :airbyte-integrations:connectors:source-quickbooks:airbyteDocker
|
||||
```
|
||||
|
||||
When building via Gradle, the docker image name and tag, respectively, are the values of the `io.airbyte.name` and `io.airbyte.version` `LABEL`s in
|
||||
the Dockerfile.
|
||||
|
||||
#### Run
|
||||
|
||||
Then run any of the connector commands as follows:
|
||||
|
||||
```
|
||||
docker run --rm airbyte/source-quickbooks-singer:dev spec
|
||||
docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-quickbooks-singer:dev check --config /secrets/config.json
|
||||
docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-quickbooks-singer:dev discover --config /secrets/config.json
|
||||
docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integration_tests airbyte/source-quickbooks-singer:dev read --config /secrets/config.json --catalog /integration_tests/configured_catalog.json
|
||||
```
|
||||
|
||||
### Integration Tests
|
||||
|
||||
1. From the airbyte project root, run `./gradlew :airbyte-integrations:connectors:source-quickbooks-singer:integrationTest` to run the standard integration test suite.
|
||||
1. To run additional integration tests, create a directory `integration_tests` which contain your tests and run them with `pytest integration_tests`.
|
||||
Make sure to familiarize yourself with [pytest test discovery](https://docs.pytest.org/en/latest/goodpractices.html#test-discovery) to know how your test files and methods should be named.
|
||||
|
||||
## Dependency Management
|
||||
|
||||
All of your dependencies should go in `setup.py`, NOT `requirements.txt`. The requirements file is only used to connect internal Airbyte dependencies in the monorepo for local development.
|
||||
|
||||
### Publishing a new version of the connector
|
||||
|
||||
You've checked out the repo, implemented a million dollar feature, and you're ready to share your changes with the world. Now what?
|
||||
|
||||
1. Make sure your changes are passing unit and integration tests
|
||||
1. Bump the connector version in `Dockerfile` -- just increment the value of the `LABEL io.airbyte.version` appropriately (we use SemVer).
|
||||
1. Create a Pull Request
|
||||
1. Pat yourself on the back for being an awesome contributor
|
||||
1. Someone from Airbyte will take a look at your PR and iterate with you to merge it into master
|
||||
@@ -1,53 +0,0 @@
|
||||
# See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference)
|
||||
# for more information about how to configure these tests
|
||||
connector_image: airbyte/source-quickbooks-singer:dev
|
||||
tests:
|
||||
spec:
|
||||
- spec_path: "source_quickbooks_singer/spec.json"
|
||||
connection:
|
||||
- config_path: "secrets/config.json"
|
||||
status: "succeed"
|
||||
- config_path: "integration_tests/invalid_config.json"
|
||||
status: "failed"
|
||||
discovery:
|
||||
- config_path: "secrets/config.json"
|
||||
basic_read:
|
||||
- config_path: "secrets/config.json"
|
||||
configured_catalog_path: "integration_tests/configured_catalog.json"
|
||||
empty_streams: ["budgets", "classes", "departments", "payment_methods", "transfers", "vendor_credits"]
|
||||
incremental:
|
||||
- config_path: "secrets/config.json"
|
||||
configured_catalog_path: "integration_tests/configured_catalog.json"
|
||||
future_state_path: "integration_tests/abnormal_state.json"
|
||||
cursor_paths:
|
||||
accounts: [ "bookmarks", "accounts", "LastUpdatedTime"]
|
||||
bill_payments: [ "bookmarks", "bill_payments", "LastUpdatedTime"]
|
||||
bills: [ "bookmarks", "bills", "LastUpdatedTime"]
|
||||
budgets: [ "bookmarks", "budgets", "LastUpdatedTime"]
|
||||
classes: [ "bookmarks", "classes", "LastUpdatedTime"]
|
||||
credit_memos: [ "bookmarks", "credit_memos", "LastUpdatedTime"]
|
||||
customers: [ "bookmarks", "customers", "LastUpdatedTime"]
|
||||
departments: [ "bookmarks", "departments", "LastUpdatedTime"]
|
||||
deposits: [ "bookmarks", "deposits", "LastUpdatedTime"]
|
||||
employees: [ "bookmarks", "employees", "LastUpdatedTime"]
|
||||
estimates: [ "bookmarks", "estimates", "LastUpdatedTime"]
|
||||
invoices: [ "bookmarks", "invoices", "LastUpdatedTime"]
|
||||
items: [ "bookmarks", "items", "LastUpdatedTime"]
|
||||
journal_entries: [ "bookmarks", "journal_entries", "LastUpdatedTime"]
|
||||
payment_methods: [ "bookmarks", "payment_methods", "LastUpdatedTime"]
|
||||
payments: [ "bookmarks", "payments", "LastUpdatedTime"]
|
||||
purchase_orders: [ "bookmarks", "purchase_orders", "LastUpdatedTime"]
|
||||
purchases: [ "bookmarks", "purchases", "LastUpdatedTime"]
|
||||
refund_receipts: [ "bookmarks", "refund_receipts", "LastUpdatedTime"]
|
||||
sales_receipts: [ "bookmarks", "sales_receipts", "LastUpdatedTime"]
|
||||
tax_agencies: [ "bookmarks", "tax_agencies", "LastUpdatedTime"]
|
||||
tax_codes: [ "bookmarks", "tax_codes", "LastUpdatedTime"]
|
||||
tax_rates: [ "bookmarks", "tax_rates", "LastUpdatedTime"]
|
||||
terms: [ "bookmarks", "terms", "LastUpdatedTime"]
|
||||
time_activities: [ "bookmarks", "time_activities", "LastUpdatedTime"]
|
||||
transfers: [ "bookmarks", "transfers", "LastUpdatedTime"]
|
||||
vendor_credits: [ "bookmarks", "vendor_credits", "LastUpdatedTime"]
|
||||
vendors: [ "bookmarks", "vendors", "LastUpdatedTime"]
|
||||
full_refresh:
|
||||
- config_path: "secrets/config.json"
|
||||
configured_catalog_path: "integration_tests/configured_catalog.json"
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,88 +0,0 @@
|
||||
{
|
||||
"bookmarks": {
|
||||
"accounts": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"bill_payments": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"bills": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"budgets": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"classes": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"credit_memos": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"customers": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"departments": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"deposits": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"employees": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"estimates": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"invoices": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"items": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"journal_entries": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"payment_methods": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"payments": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"purchase_orders": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"purchases": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"refund_receipts": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"sales_receipts": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"tax_agencies": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"tax_codes": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"tax_rates": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"terms": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"time_activities": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"transfers": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"vendor_credits": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
},
|
||||
"vendors": {
|
||||
"LastUpdatedTime": "2121-04-16T22:59:57-07:00"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,340 +0,0 @@
|
||||
{
|
||||
"streams": [
|
||||
{
|
||||
"stream": {
|
||||
"name": "accounts",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "bill_payments",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "bills",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "budgets",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "classes",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "credit_memos",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "customers",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "departments",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "deposits",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "employees",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "estimates",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "invoices",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "items",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "journal_entries",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "payment_methods",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "payments",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "purchase_orders",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "purchases",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "refund_receipts",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "sales_receipts",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "tax_agencies",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "tax_codes",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "tax_rates",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "terms",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "time_activities",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "transfers",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "vendor_credits",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
},
|
||||
{
|
||||
"stream": {
|
||||
"name": "vendors",
|
||||
"json_schema": {},
|
||||
"supported_sync_modes": ["incremental"],
|
||||
"source_defined_cursor": true,
|
||||
"default_cursor_field": ["MetaData", "LastUpdatedTime"]
|
||||
},
|
||||
"sync_mode": "incremental",
|
||||
"cursor_field": ["MetaData", "LastUpdatedTime"],
|
||||
"destination_sync_mode": "append"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"client_id": "<invalid_client_id>",
|
||||
"client_secret": "<invalid_client_secret>",
|
||||
"refresh_token": "<invalid_refresh_token>",
|
||||
"realm_id": "<invalid_realm_id>",
|
||||
"user_agent": "invalid invalid@invalid.com",
|
||||
"start_date": "2021-01-01T00:00:00Z",
|
||||
"sandbox": true
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"bookmarks": {
|
||||
"accounts": {
|
||||
"LastUpdatedTime": "2021-04-16T22:59:57-07:00"
|
||||
},
|
||||
"bill_payments": {
|
||||
"LastUpdatedTime": "2021-02-14T12:56:17-08:00"
|
||||
},
|
||||
"bills": {
|
||||
"LastUpdatedTime": "2021-02-14T13:10:36-08:00"
|
||||
},
|
||||
"credit_memos": {
|
||||
"LastUpdatedTime": "2021-02-13T12:51:28-08:00"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
# This file is autogenerated -- only edit if you know what you are doing. Use setup.py for declaring dependencies.
|
||||
-e .
|
||||
@@ -1,3 +0,0 @@
|
||||
from .source import SourceQuickbooksSinger
|
||||
|
||||
__all__ = ["SourceQuickbooksSinger"]
|
||||
@@ -1,60 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
|
||||
#
|
||||
|
||||
|
||||
import json
|
||||
|
||||
from airbyte_cdk.logger import AirbyteLogger
|
||||
from airbyte_cdk.models import AirbyteConnectionStatus, Status
|
||||
from airbyte_cdk.sources.singer import SingerSource
|
||||
from requests_oauthlib import OAuth2Session
|
||||
from tap_quickbooks.client import PROD_ENDPOINT_BASE, SANDBOX_ENDPOINT_BASE, TOKEN_REFRESH_URL
|
||||
|
||||
|
||||
class SourceQuickbooksSinger(SingerSource):
|
||||
TAP_CMD = "tap-quickbooks"
|
||||
|
||||
def _write_config(self, token):
|
||||
logger = AirbyteLogger()
|
||||
logger.info("Credentials Refreshed")
|
||||
|
||||
def check_config(self, logger: AirbyteLogger, config_path: str, config: json) -> AirbyteConnectionStatus:
|
||||
token = {"refresh_token": config["refresh_token"], "token_type": "Bearer", "access_token": "wrong", "expires_in": "-30"}
|
||||
extra = {"client_id": config["client_id"], "client_secret": config["client_secret"]}
|
||||
|
||||
sandbox = bool(config.get("sandbox", False))
|
||||
|
||||
user_agent = config["user_agent"]
|
||||
realm_id = config["realm_id"]
|
||||
session = OAuth2Session(
|
||||
config["client_id"],
|
||||
token=token,
|
||||
auto_refresh_url=TOKEN_REFRESH_URL,
|
||||
auto_refresh_kwargs=extra,
|
||||
token_updater=self._write_config,
|
||||
)
|
||||
|
||||
endpoint = f"/v3/company/{realm_id}/query"
|
||||
params = {"query": "SELECT * FROM CompanyInfo"}
|
||||
headers = {"Accept": "application/json", "User-Agent": user_agent}
|
||||
|
||||
if sandbox:
|
||||
full_url = SANDBOX_ENDPOINT_BASE + endpoint
|
||||
else:
|
||||
full_url = PROD_ENDPOINT_BASE + endpoint
|
||||
|
||||
try:
|
||||
session.request("GET", full_url, headers=headers, params=params)
|
||||
return AirbyteConnectionStatus(status=Status.SUCCEEDED)
|
||||
except Exception as e:
|
||||
return AirbyteConnectionStatus(status=Status.FAILED, message=f"An exception occurred: {str(e)}")
|
||||
|
||||
def discover_cmd(self, logger: AirbyteLogger, config_path: str) -> str:
|
||||
return f"{self.TAP_CMD} --config {config_path} --discover"
|
||||
|
||||
def read_cmd(self, logger: AirbyteLogger, config_path: str, catalog_path: str, state_path: str = None) -> str:
|
||||
config_option = f"--config {config_path}"
|
||||
properties_option = f"--catalog {catalog_path}"
|
||||
state_option = f"--state {state_path}" if state_path else ""
|
||||
return f"{self.TAP_CMD} {config_option} {properties_option} {state_option}"
|
||||
@@ -1,61 +0,0 @@
|
||||
{
|
||||
"documentationUrl": "https://docs.airbyte.com/integrations/sources/quickbooks-singer",
|
||||
"connectionSpecification": {
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Source QuickBooks Singer Spec",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"client_id",
|
||||
"client_secret",
|
||||
"refresh_token",
|
||||
"realm_id",
|
||||
"user_agent",
|
||||
"start_date",
|
||||
"sandbox"
|
||||
],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"client_id": {
|
||||
"type": "string",
|
||||
"title": "Client ID",
|
||||
"description": "Identifies which app is making the request. Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production."
|
||||
},
|
||||
"client_secret": {
|
||||
"description": " Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production.",
|
||||
"title": "Client Secret",
|
||||
"type": "string",
|
||||
"airbyte_secret": true
|
||||
},
|
||||
"refresh_token": {
|
||||
"description": "A token used when refreshing the access token.",
|
||||
"title": "Refresh Token",
|
||||
"type": "string",
|
||||
"airbyte_secret": true
|
||||
},
|
||||
"realm_id": {
|
||||
"description": "Labeled Company ID. The Make API Calls panel is populated with the realm id and the current access token.",
|
||||
"title": "Realm ID",
|
||||
"type": "string",
|
||||
"airbyte_secret": true
|
||||
},
|
||||
"user_agent": {
|
||||
"type": "string",
|
||||
"title": "User Agent",
|
||||
"description": "Process and email for API logging purposes. Example: tap-quickbooks <api_user_email@your_company.com>."
|
||||
},
|
||||
"start_date": {
|
||||
"description": "The default value to use if no bookmark exists for an endpoint (rfc3339 date string). E.g, 2021-03-20T00:00:00Z. Any data before this date will not be replicated.",
|
||||
"title": "Start Date",
|
||||
"type": "string",
|
||||
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$",
|
||||
"examples": ["2021-03-20T00:00:00Z"]
|
||||
},
|
||||
"sandbox": {
|
||||
"description": "Determines whether to use the sandbox or production environment.",
|
||||
"title": "Sandbox",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
*
|
||||
!Dockerfile
|
||||
!main.py
|
||||
!source_quickbooks
|
||||
!setup.py
|
||||
!secrets
|
||||
@@ -7,9 +7,7 @@ WORKDIR /airbyte/integration_code
|
||||
# upgrade pip to the latest version
|
||||
RUN apk --no-cache upgrade \
|
||||
&& pip install --upgrade pip \
|
||||
&& apk --no-cache add tzdata \
|
||||
&& apk --no-cache add git \
|
||||
&& apk --no-cache add build-base
|
||||
&& apk --no-cache add tzdata build-base
|
||||
|
||||
|
||||
COPY setup.py ./
|
||||
@@ -31,11 +29,10 @@ RUN apk --no-cache add bash
|
||||
|
||||
# copy payload code only
|
||||
COPY main.py ./
|
||||
COPY source_quickbooks_singer ./source_quickbooks_singer
|
||||
COPY source_quickbooks ./source_quickbooks
|
||||
|
||||
ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py"
|
||||
ENTRYPOINT ["python", "/airbyte/integration_code/main.py"]
|
||||
|
||||
LABEL io.airbyte.version=0.1.5
|
||||
LABEL io.airbyte.name=airbyte/source-quickbooks-singer
|
||||
|
||||
LABEL io.airbyte.version=1.0.0
|
||||
LABEL io.airbyte.name=airbyte/source-quickbooks
|
||||
82
airbyte-integrations/connectors/source-quickbooks/README.md
Normal file
82
airbyte-integrations/connectors/source-quickbooks/README.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# Quickbooks Source
|
||||
|
||||
This is the repository for the Quickbooks configuration based source connector.
|
||||
For information about how to use this connector within Airbyte, see [the documentation](https://docs.airbyte.com/integrations/sources/quickbooks).
|
||||
|
||||
## Local development
|
||||
|
||||
#### Building via Gradle
|
||||
You can also build the connector in Gradle. This is typically used in CI and not needed for your development workflow.
|
||||
|
||||
To build using Gradle, from the Airbyte repository root, run:
|
||||
```
|
||||
./gradlew :airbyte-integrations:connectors:source-quickbooks:build
|
||||
```
|
||||
|
||||
#### Create credentials
|
||||
**If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.com/integrations/sources/quickbooks)
|
||||
to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `source_quickbooks/spec.yaml` file.
|
||||
Note that any directory named `secrets` is gitignored across the entire Airbyte repo, so there is no danger of accidentally checking in sensitive information.
|
||||
See `integration_tests/sample_config.json` for a sample config file.
|
||||
|
||||
**If you are an Airbyte core member**, copy the credentials in Lastpass under the secret name `source quickbooks test creds`
|
||||
and place them into `secrets/config.json`.
|
||||
|
||||
### Locally running the connector docker image
|
||||
|
||||
#### Build
|
||||
First, make sure you build the latest Docker image:
|
||||
```
|
||||
docker build . -t airbyte/source-quickbooks:dev
|
||||
```
|
||||
|
||||
You can also build the connector image via Gradle:
|
||||
```
|
||||
./gradlew :airbyte-integrations:connectors:source-quickbooks:airbyteDocker
|
||||
```
|
||||
When building via Gradle, the docker image name and tag, respectively, are the values of the `io.airbyte.name` and `io.airbyte.version` `LABEL`s in
|
||||
the Dockerfile.
|
||||
|
||||
#### Run
|
||||
Then run any of the connector commands as follows:
|
||||
```
|
||||
docker run --rm airbyte/source-quickbooks:dev spec
|
||||
docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-quickbooks:dev check --config /secrets/config.json
|
||||
docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-quickbooks:dev discover --config /secrets/config.json
|
||||
docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integration_tests airbyte/source-quickbooks:dev read --config /secrets/config.json --catalog /integration_tests/configured_catalog.json
|
||||
```
|
||||
## Testing
|
||||
|
||||
#### Acceptance Tests
|
||||
Customize `acceptance-test-config.yml` file to configure tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information.
|
||||
If your connector requires to create or destroy resources for use during acceptance tests create fixtures for it and place them inside integration_tests/acceptance.py.
|
||||
|
||||
To run your integration tests with Docker, run:
|
||||
```
|
||||
./acceptance-test-docker.sh
|
||||
```
|
||||
|
||||
### Using gradle to run tests
|
||||
All commands should be run from airbyte project root.
|
||||
To run unit tests:
|
||||
```
|
||||
./gradlew :airbyte-integrations:connectors:source-quickbooks:unitTest
|
||||
```
|
||||
To run acceptance and custom integration tests:
|
||||
```
|
||||
./gradlew :airbyte-integrations:connectors:source-quickbooks:integrationTest
|
||||
```
|
||||
|
||||
## Dependency Management
|
||||
All of your dependencies should go in `setup.py`, NOT `requirements.txt`. The requirements file is only used to connect internal Airbyte dependencies in the monorepo for local development.
|
||||
We split dependencies between two groups, dependencies that are:
|
||||
* required for your connector to work need to go to `MAIN_REQUIREMENTS` list.
|
||||
* required for the testing need to go to `TEST_REQUIREMENTS` list
|
||||
|
||||
### Publishing a new version of the connector
|
||||
You've checked out the repo, implemented a million dollar feature, and you're ready to share your changes with the world. Now what?
|
||||
1. Make sure your changes are passing unit and integration tests.
|
||||
1. Bump the connector version in `Dockerfile` -- just increment the value of the `LABEL io.airbyte.version` appropriately (we use [SemVer](https://semver.org/)).
|
||||
1. Create a Pull Request.
|
||||
1. Pat yourself on the back for being an awesome contributor.
|
||||
1. Someone from Airbyte will take a look at your PR and iterate with you to merge it into master.
|
||||
@@ -1,7 +1,3 @@
|
||||
#
|
||||
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
|
||||
#
|
||||
|
||||
|
||||
def test_example_method():
|
||||
assert True
|
||||
@@ -0,0 +1,46 @@
|
||||
# See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference)
|
||||
# for more information about how to configure these tests
|
||||
connector_image: airbyte/source-quickbooks:dev
|
||||
test_strictness_level: "high"
|
||||
acceptance_tests:
|
||||
spec:
|
||||
tests:
|
||||
- spec_path: "source_quickbooks/spec.json"
|
||||
connection:
|
||||
tests:
|
||||
- config_path: "secrets/config.json"
|
||||
status: "succeed"
|
||||
- config_path: "integration_tests/invalid_config.json"
|
||||
status: "failed"
|
||||
discovery:
|
||||
tests:
|
||||
- config_path: "secrets/config.json"
|
||||
basic_read:
|
||||
tests:
|
||||
- config_path: "secrets/config.json"
|
||||
empty_streams:
|
||||
- name: vendor_credits
|
||||
bypass_reason: "unable to populate"
|
||||
- name: vendors
|
||||
bypass_reason: "unable to populate"
|
||||
- name: classes
|
||||
bypass_reason: "unable to populate"
|
||||
- name: budgets
|
||||
bypass_reason: "unable to populate"
|
||||
- name: transfers
|
||||
bypass_reason: "unable to populate"
|
||||
- name: departments
|
||||
bypass_reason: "unable to populate"
|
||||
expect_records:
|
||||
path: "integration_tests/expected_records.jsonl"
|
||||
extra_fields: no
|
||||
exact_order: no
|
||||
extra_records: yes
|
||||
incremental:
|
||||
tests:
|
||||
- config_path: "secrets/config.json"
|
||||
future_state:
|
||||
future_state_path: "integration_tests/abnormal_state.json"
|
||||
full_refresh:
|
||||
tests:
|
||||
- config_path: "secrets/config.json"
|
||||
@@ -1,2 +1,3 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
source "$(git rev-parse --show-toplevel)/airbyte-integrations/bases/connector-acceptance-test/acceptance-test-docker.sh"
|
||||
@@ -5,5 +5,5 @@ plugins {
|
||||
}
|
||||
|
||||
airbytePython {
|
||||
moduleDirectory 'source_quickbooks_singer'
|
||||
moduleDirectory 'source_quickbooks'
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
#
|
||||
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
|
||||
#
|
||||
@@ -0,0 +1,254 @@
|
||||
[
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-03-04T14:35:37-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "budgets"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-03-04T14:35:37-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "bills"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-03-04T14:35:37-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "classes"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-03-04T14:35:37-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "departments"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-03-04T14:35:37-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "vendor_credits"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-03-04T14:35:37-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "transfers"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-03-04T14:35:37-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "accounts"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-17T12:51:28-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "credit_memos"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-18T12:56:17-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "bill_payments"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-16T11:40:52-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "sales_receipts"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-03-15T14:04:25-07:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "purchases"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-18T13:13:33-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "payments"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-18T13:10:36-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "purchase_orders"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-10T14:42:05-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "payment_methods"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-15T10:04:24-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "journal_entries"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-18T13:16:17-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "items"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-18T13:16:17-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "invoices"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-18T13:16:17-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "customers"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-16T15:35:07-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "refund_receipts"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-18T13:00:56-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "deposits"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-16T11:46:26-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "employees"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-18T13:16:17-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "estimates"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-17T12:17:04-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "tax_agencies"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-17T12:17:04-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "tax_codes"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-17T12:17:04-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "tax_rates"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-15T15:24:26-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "terms"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-02-16T11:55:25-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "time_activities"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "STREAM",
|
||||
"stream": {
|
||||
"stream_state": {
|
||||
"airbyte_cursor": "2050-03-04T14:29:35-08:00"
|
||||
},
|
||||
"stream_descriptor": {"name": "vendors"}
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -11,4 +11,6 @@ pytest_plugins = ("connector_acceptance_test.plugin",)
|
||||
@pytest.fixture(scope="session", autouse=True)
|
||||
def connector_setup():
|
||||
"""This fixture is a placeholder for external resources that acceptance test might require."""
|
||||
# TODO: setup test dependencies if needed. otherwise remove the TODO comments
|
||||
yield
|
||||
# TODO: clean up test dependencies
|
||||
@@ -0,0 +1,85 @@
|
||||
{"stream": "accounts", "data": {"Name": "Undeposited Funds", "SubAccount": false, "FullyQualifiedName": "Undeposited Funds", "Active": true, "Classification": "Asset", "AccountType": "Other Current Asset", "AccountSubType": "UndepositedFunds", "CurrentBalance": 2062.52, "CurrentBalanceWithSubAccounts": 2062.52, "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "domain": "QBO", "sparse": false, "Id": "4", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T14:42:07-08:00", "LastUpdatedTime": "2023-02-18T13:13:33-08:00"}, "airbyte_cursor": "2023-02-18T13:13:33-08:00"}, "emitted_at": 1679578441954}
|
||||
{"stream": "accounts", "data": {"Name": "Board of Equalization Payable", "SubAccount": false, "FullyQualifiedName": "Board of Equalization Payable", "Active": true, "Classification": "Liability", "AccountType": "Other Current Liability", "AccountSubType": "GlobalTaxPayable", "CurrentBalance": -370.94, "CurrentBalanceWithSubAccounts": -370.94, "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "domain": "QBO", "sparse": false, "Id": "90", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T12:17:04-08:00", "LastUpdatedTime": "2023-02-18T13:16:17-08:00"}, "airbyte_cursor": "2023-02-18T13:16:17-08:00"}, "emitted_at": 1679578441960}
|
||||
{"stream": "accounts", "data": {"Name": "Accounts Receivable (A/R)", "SubAccount": false, "FullyQualifiedName": "Accounts Receivable (A/R)", "Active": true, "Classification": "Asset", "AccountType": "Accounts Receivable", "AccountSubType": "AccountsReceivable", "CurrentBalance": 5281.52, "CurrentBalanceWithSubAccounts": 5281.52, "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "domain": "QBO", "sparse": false, "Id": "84", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-15T14:49:29-08:00", "LastUpdatedTime": "2023-02-18T13:16:17-08:00"}, "airbyte_cursor": "2023-02-18T13:16:17-08:00"}, "emitted_at": 1679578441964}
|
||||
{"stream": "accounts", "data": {"Name": "Inventory Asset", "SubAccount": false, "FullyQualifiedName": "Inventory Asset", "Active": true, "Classification": "Asset", "AccountType": "Other Current Asset", "AccountSubType": "Inventory", "CurrentBalance": 596.25, "CurrentBalanceWithSubAccounts": 596.25, "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "domain": "QBO", "sparse": false, "Id": "81", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-15T10:36:05-08:00", "LastUpdatedTime": "2023-02-18T13:16:17-08:00"}, "airbyte_cursor": "2023-02-18T13:16:17-08:00"}, "emitted_at": 1679578441968}
|
||||
{"stream": "accounts", "data": {"Name": "Checking", "SubAccount": false, "FullyQualifiedName": "Checking", "Active": true, "Classification": "Asset", "AccountType": "Bank", "AccountSubType": "Checking", "CurrentBalance": 1201.0, "CurrentBalanceWithSubAccounts": 1201.0, "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "domain": "QBO", "sparse": false, "Id": "35", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-14T12:08:20-08:00", "LastUpdatedTime": "2023-03-04T14:35:37-08:00"}, "airbyte_cursor": "2023-03-04T14:35:37-08:00"}, "emitted_at": 1679578442632}
|
||||
{"stream": "credit_memos", "data": {"RemainingCredit": 0, "domain": "QBO", "sparse": false, "Id": "73", "SyncToken": "1", "MetaData": {"CreateTime": "2023-02-17T12:51:27-08:00", "LastUpdatedTime": "2023-02-17T12:51:28-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType"}], "DocNumber": "1026", "TxnDate": "2023-02-01", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Id": "1", "LineNum": 1, "Description": "Pest Control Services", "Amount": 100.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "10", "name": "Pest Control"}, "UnitPrice": 100, "Qty": 1, "TaxCodeRef": {"value": "NON"}}}, {"Amount": 100.0, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}], "TxnTaxDetail": {"TotalTax": 0}, "CustomerRef": {"value": "1", "name": "Amy's Bird Sanctuary"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "79", "Line1": "Amy Lauterbach", "Line2": "Amy's Bird Sanctuary", "Line3": "4581 Finch St.", "Line4": "Bayshore, CA 94326", "Lat": "INVALID", "Long": "INVALID"}, "ShipAddr": {"Id": "2", "Line1": "4581 Finch St.", "City": "Bayshore", "CountrySubDivisionCode": "CA", "PostalCode": "94326", "Lat": "INVALID", "Long": "INVALID"}, "TotalAmt": 100.0, "ApplyTaxAfterDiscount": false, "PrintStatus": "NeedToPrint", "EmailStatus": "NotSet", "BillEmail": {"Address": "Birds@Intuit.com"}, "Balance": 0, "airbyte_cursor": "2023-02-17T12:51:28-08:00"}, "emitted_at": 1679578450494}
|
||||
{"stream": "bills", "data": {"SalesTermRef": {"value": "3"}, "DueDate": "2023-03-04", "Balance": 0, "domain": "QBO", "sparse": false, "Id": "24", "SyncToken": "1", "MetaData": {"CreateTime": "2023-02-15T15:31:20-08:00", "LastUpdatedTime": "2023-02-17T13:43:08-08:00"}, "TxnDate": "2023-02-02", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [{"TxnId": "104", "TxnType": "BillPaymentCheck"}], "Line": [{"Id": "1", "LineNum": 1, "Description": "Building Lease", "Amount": 900.0, "DetailType": "AccountBasedExpenseLineDetail", "AccountBasedExpenseLineDetail": {"AccountRef": {"value": "17", "name": "Rent or Lease"}, "BillableStatus": "NotBillable", "TaxCodeRef": {"value": "NON"}}}], "VendorRef": {"value": "40", "name": "Hall Properties"}, "APAccountRef": {"value": "33", "name": "Accounts Payable (A/P)"}, "TotalAmt": 900.0, "airbyte_cursor": "2023-02-17T13:43:08-08:00"}, "emitted_at": 1679578453574}
|
||||
{"stream": "bills", "data": {"DueDate": "2023-02-18", "Balance": 315.0, "domain": "QBO", "sparse": false, "Id": "108", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-18T12:36:59-08:00", "LastUpdatedTime": "2023-02-18T12:36:59-08:00"}, "TxnDate": "2023-02-18", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Id": "1", "LineNum": 1, "Amount": 315.0, "DetailType": "AccountBasedExpenseLineDetail", "AccountBasedExpenseLineDetail": {"AccountRef": {"value": "69", "name": "Legal & Professional Fees:Accounting"}, "BillableStatus": "NotBillable", "TaxCodeRef": {"value": "NON"}}}], "VendorRef": {"value": "49", "name": "Robertson & Associates"}, "APAccountRef": {"value": "33", "name": "Accounts Payable (A/P)"}, "TotalAmt": 315.0, "airbyte_cursor": "2023-02-18T12:36:59-08:00"}, "emitted_at": 1679578453579}
|
||||
{"stream": "bills", "data": {"SalesTermRef": {"value": "1"}, "DueDate": "2023-01-03", "Balance": 0, "domain": "QBO", "sparse": false, "Id": "105", "SyncToken": "1", "MetaData": {"CreateTime": "2023-02-17T13:43:56-08:00", "LastUpdatedTime": "2023-02-18T12:55:23-08:00"}, "TxnDate": "2023-01-03", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [{"TxnId": "117", "TxnType": "BillPaymentCheck"}], "Line": [{"Id": "1", "LineNum": 1, "Amount": 56.5, "DetailType": "AccountBasedExpenseLineDetail", "AccountBasedExpenseLineDetail": {"AccountRef": {"value": "77", "name": "Utilities:Telephone"}, "BillableStatus": "NotBillable", "TaxCodeRef": {"value": "NON"}}}], "VendorRef": {"value": "32", "name": "Cal Telephone"}, "APAccountRef": {"value": "33", "name": "Accounts Payable (A/P)"}, "TotalAmt": 56.5, "airbyte_cursor": "2023-02-18T12:55:23-08:00"}, "emitted_at": 1679578453584}
|
||||
{"stream": "bills", "data": {"SalesTermRef": {"value": "3"}, "DueDate": "2023-03-17", "Balance": 0, "domain": "QBO", "sparse": false, "Id": "25", "SyncToken": "1", "MetaData": {"CreateTime": "2023-02-15T15:37:25-08:00", "LastUpdatedTime": "2023-02-18T12:56:17-08:00"}, "TxnDate": "2023-02-15", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [{"TxnId": "118", "TxnType": "BillPaymentCheck"}], "Line": [{"Id": "1", "LineNum": 1, "Description": "Lumber", "Amount": 103.55, "DetailType": "AccountBasedExpenseLineDetail", "AccountBasedExpenseLineDetail": {"CustomerRef": {"value": "26", "name": "Travis Waldron"}, "AccountRef": {"value": "64", "name": "Job Expenses:Job Materials:Decks and Patios"}, "BillableStatus": "HasBeenBilled", "TaxCodeRef": {"value": "NON"}}}], "VendorRef": {"value": "46", "name": "Norton Lumber and Building Materials"}, "APAccountRef": {"value": "33", "name": "Accounts Payable (A/P)"}, "TotalAmt": 103.55, "airbyte_cursor": "2023-02-18T12:56:17-08:00"}, "emitted_at": 1679578453589}
|
||||
{"stream": "bills", "data": {"DueDate": "2023-02-18", "Balance": 205.0, "domain": "QBO", "sparse": false, "Id": "126", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-18T13:10:36-08:00", "LastUpdatedTime": "2023-02-18T13:10:36-08:00"}, "TxnDate": "2023-02-18", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Id": "1", "LineNum": 1, "Description": "Fountain Pump", "Amount": 80.0, "DetailType": "ItemBasedExpenseLineDetail", "ItemBasedExpenseLineDetail": {"BillableStatus": "NotBillable", "ItemRef": {"value": "11", "name": "Pump"}, "UnitPrice": 10, "Qty": 8, "TaxCodeRef": {"value": "NON"}}}, {"Id": "2", "LineNum": 2, "Description": "Rock Fountain", "Amount": 125.0, "DetailType": "ItemBasedExpenseLineDetail", "ItemBasedExpenseLineDetail": {"BillableStatus": "NotBillable", "ItemRef": {"value": "5", "name": "Rock Fountain"}, "UnitPrice": 125, "Qty": 1, "TaxCodeRef": {"value": "NON"}}}], "VendorRef": {"value": "46", "name": "Norton Lumber and Building Materials"}, "APAccountRef": {"value": "33", "name": "Accounts Payable (A/P)"}, "TotalAmt": 205.0, "airbyte_cursor": "2023-02-18T13:10:36-08:00"}, "emitted_at": 1679578453594}
|
||||
{"stream": "bill_payments", "data": {"VendorRef": {"value": "51", "name": "Tim Philip Masonry"}, "PayType": "Check", "CheckPayment": {"BankAccountRef": {"value": "35", "name": "Checking"}, "PrintStatus": "NotSet"}, "TotalAmt": 666.0, "domain": "QBO", "sparse": false, "Id": "82", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T13:06:58-08:00", "LastUpdatedTime": "2023-02-17T13:06:58-08:00"}, "DocNumber": "45", "TxnDate": "2023-02-17", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Amount": 666.0, "LinkedTxn": [{"TxnId": "3", "TxnType": "Bill"}]}], "airbyte_cursor": "2023-02-17T13:06:58-08:00"}, "emitted_at": 1679578456621}
|
||||
{"stream": "bill_payments", "data": {"VendorRef": {"value": "49", "name": "Robertson & Associates"}, "PayType": "Check", "CheckPayment": {"BankAccountRef": {"value": "35", "name": "Checking"}, "PrintStatus": "NotSet"}, "TotalAmt": 300.0, "domain": "QBO", "sparse": false, "Id": "91", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T13:19:24-08:00", "LastUpdatedTime": "2023-02-17T13:19:24-08:00"}, "DocNumber": "10", "TxnDate": "2022-11-16", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Amount": 300.0, "LinkedTxn": [{"TxnId": "90", "TxnType": "Bill"}]}], "airbyte_cursor": "2023-02-17T13:19:24-08:00"}, "emitted_at": 1679578456625}
|
||||
{"stream": "bill_payments", "data": {"VendorRef": {"value": "40", "name": "Hall Properties"}, "PayType": "Check", "CheckPayment": {"BankAccountRef": {"value": "35", "name": "Checking"}, "PrintStatus": "NotSet"}, "TotalAmt": 900.0, "domain": "QBO", "sparse": false, "Id": "104", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T13:43:08-08:00", "LastUpdatedTime": "2023-02-17T13:43:08-08:00"}, "DocNumber": "11", "TxnDate": "2023-02-11", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Amount": 900.0, "LinkedTxn": [{"TxnId": "24", "TxnType": "Bill"}]}], "airbyte_cursor": "2023-02-17T13:43:08-08:00"}, "emitted_at": 1679578456629}
|
||||
{"stream": "bill_payments", "data": {"VendorRef": {"value": "32", "name": "Cal Telephone"}, "PayType": "CreditCard", "CreditCardPayment": {"CCAccountRef": {"value": "41", "name": "Mastercard"}}, "TotalAmt": 56.5, "domain": "QBO", "sparse": false, "Id": "117", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-18T12:55:23-08:00", "LastUpdatedTime": "2023-02-18T12:55:23-08:00"}, "DocNumber": "1", "TxnDate": "2023-02-18", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Amount": 56.5, "LinkedTxn": [{"TxnId": "105", "TxnType": "Bill"}]}], "airbyte_cursor": "2023-02-18T12:55:23-08:00"}, "emitted_at": 1679578456634}
|
||||
{"stream": "bill_payments", "data": {"VendorRef": {"value": "46", "name": "Norton Lumber and Building Materials"}, "PayType": "CreditCard", "CreditCardPayment": {"CCAccountRef": {"value": "41", "name": "Mastercard"}}, "TotalAmt": 103.55, "domain": "QBO", "sparse": false, "Id": "118", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-18T12:56:17-08:00", "LastUpdatedTime": "2023-02-18T12:56:17-08:00"}, "DocNumber": "1", "TxnDate": "2023-02-18", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Amount": 103.55, "LinkedTxn": [{"TxnId": "25", "TxnType": "Bill"}]}], "airbyte_cursor": "2023-02-18T12:56:17-08:00"}, "emitted_at": 1679578456640}
|
||||
{"stream": "sales_receipts", "data": {"domain": "QBO", "sparse": false, "Id": "11", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-15T14:59:48-08:00", "LastUpdatedTime": "2023-02-15T14:59:48-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType"}], "DocNumber": "1003", "TxnDate": "2023-02-13", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Id": "1", "LineNum": 1, "Description": "Custom Design", "Amount": 337.5, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "4", "name": "Design"}, "UnitPrice": 75, "Qty": 4.5, "TaxCodeRef": {"value": "NON"}}}, {"Amount": 337.5, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}], "TxnTaxDetail": {"TotalTax": 0}, "CustomerRef": {"value": "6", "name": "Dylan Sollfrank"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "49", "Line1": "Dylan Sollfrank", "Lat": "INVALID", "Long": "INVALID"}, "TotalAmt": 337.5, "ApplyTaxAfterDiscount": false, "PrintStatus": "NotSet", "EmailStatus": "NotSet", "Balance": 0, "PaymentMethodRef": {"value": "2", "name": "Check"}, "PaymentRefNum": "10264", "DepositToAccountRef": {"value": "35", "name": "Checking"}, "airbyte_cursor": "2023-02-15T14:59:48-08:00"}, "emitted_at": 1679578460138}
|
||||
{"stream": "sales_receipts", "data": {"domain": "QBO", "sparse": false, "Id": "17", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-15T15:12:39-08:00", "LastUpdatedTime": "2023-02-15T15:12:39-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType"}], "DocNumber": "1008", "TxnDate": "2023-01-24", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Id": "1", "LineNum": 1, "Description": "Custom Design", "Amount": 225.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "4", "name": "Design"}, "UnitPrice": 75, "Qty": 3, "TaxCodeRef": {"value": "NON"}}}, {"Amount": 225.0, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}], "TxnTaxDetail": {"TotalTax": 0}, "CustomerRef": {"value": "14", "name": "Kate Whelan"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "54", "Line1": "Kate Whelan", "Line2": "45 First St.", "Line3": "Menlo Park, CA 94304 USA", "Lat": "37.3813444", "Long": "-122.1802812"}, "ShipAddr": {"Id": "14", "Line1": "45 First St.", "City": "Menlo Park", "Country": "USA", "CountrySubDivisionCode": "CA", "PostalCode": "94304", "Lat": "37.4585825", "Long": "-122.1352789"}, "TotalAmt": 225.0, "ApplyTaxAfterDiscount": false, "PrintStatus": "NeedToPrint", "EmailStatus": "NotSet", "BillEmail": {"Address": "Kate@Whelan.com"}, "Balance": 0, "DepositToAccountRef": {"value": "35", "name": "Checking"}, "airbyte_cursor": "2023-02-15T15:12:39-08:00"}, "emitted_at": 1679578460147}
|
||||
{"stream": "sales_receipts", "data": {"domain": "QBO", "sparse": false, "Id": "38", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-16T11:15:46-08:00", "LastUpdatedTime": "2023-02-16T11:15:46-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType"}], "DocNumber": "1011", "TxnDate": "2023-02-16", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [{"TxnId": "62", "TxnType": "Deposit"}], "Line": [{"Id": "1", "LineNum": 1, "Description": "Pest Control Services", "Amount": 87.5, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "10", "name": "Pest Control"}, "UnitPrice": 35, "Qty": 2.5, "TaxCodeRef": {"value": "NON"}}}, {"Amount": 87.5, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}, {"Amount": 8.75, "DetailType": "DiscountLineDetail", "DiscountLineDetail": {"PercentBased": true, "DiscountPercent": 10, "DiscountAccountRef": {"value": "86", "name": "Discounts given"}}}], "TxnTaxDetail": {"TotalTax": 0}, "CustomerRef": {"value": "15", "name": "Pye's Cakes"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "57", "Line1": "Karen Pye", "Line2": "Pye's Cakes", "Line3": "350 Mountain View Dr.", "Line4": "South Orange, NJ 07079", "Lat": "40.7489277", "Long": "-74.2609903"}, "ShipAddr": {"Id": "15", "Line1": "350 Mountain View Dr.", "City": "South Orange", "CountrySubDivisionCode": "NJ", "PostalCode": "07079", "Lat": "40.7633073", "Long": "-74.2426072"}, "TotalAmt": 78.75, "ApplyTaxAfterDiscount": false, "PrintStatus": "NotSet", "EmailStatus": "NotSet", "BillEmail": {"Address": "karen@pye.com"}, "Balance": 0, "PaymentMethodRef": {"value": "1", "name": "Cash"}, "DepositToAccountRef": {"value": "4", "name": "Undeposited Funds"}, "airbyte_cursor": "2023-02-16T11:15:46-08:00"}, "emitted_at": 1679578460175}
|
||||
{"stream": "sales_receipts", "data": {"domain": "QBO", "sparse": false, "Id": "47", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-16T11:40:52-08:00", "LastUpdatedTime": "2023-02-16T11:40:52-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType"}], "DocNumber": "1014", "TxnDate": "2023-02-14", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [{"TxnId": "62", "TxnType": "Deposit"}], "Line": [{"Id": "1", "LineNum": 1, "Description": "Weekly Gardening Service", "Amount": 140.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "6", "name": "Gardening"}, "UnitPrice": 35, "Qty": 4, "TaxCodeRef": {"value": "NON"}}}, {"Amount": 140.0, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}], "TxnTaxDetail": {"TotalTax": 0}, "CustomerRef": {"value": "4", "name": "Diego Rodriguez"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "66", "Line1": "Diego Rodriguez", "Line2": "321 Channing", "Line3": "Palo Alto, CA 94303", "Lat": "37.4530553", "Long": "-122.1178261"}, "TotalAmt": 140.0, "ApplyTaxAfterDiscount": false, "PrintStatus": "NotSet", "EmailStatus": "NotSet", "BillEmail": {"Address": "Diego@Rodriguez.com"}, "Balance": 0, "DepositToAccountRef": {"value": "4", "name": "Undeposited Funds"}, "airbyte_cursor": "2023-02-16T11:40:52-08:00"}, "emitted_at": 1679578460180}
|
||||
{"stream": "purchases", "data": {"AccountRef": {"value": "41", "name": "Mastercard"}, "PaymentType": "CreditCard", "EntityRef": {"value": "56", "name": "Bob's Burger Joint", "type": "Vendor"}, "Credit": false, "TotalAmt": 18.97, "PurchaseEx": {"any": [{"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "TxnType", "Value": "1"}, "nil": false, "globalScope": true, "typeSubstituted": false}]}, "domain": "QBO", "sparse": false, "Id": "140", "SyncToken": "0", "MetaData": {"CreateTime": "2023-03-04T14:36:37-08:00", "LastUpdatedTime": "2023-03-04T14:36:37-08:00"}, "TxnDate": "2023-02-23", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "PrivateNote": "Bought lunch for crew 102", "Line": [{"Id": "1", "Amount": 18.97, "DetailType": "AccountBasedExpenseLineDetail", "AccountBasedExpenseLineDetail": {"AccountRef": {"value": "13", "name": "Meals and Entertainment"}, "BillableStatus": "NotBillable", "TaxCodeRef": {"value": "NON"}}}], "airbyte_cursor": "2023-03-04T14:36:37-08:00"}, "emitted_at": 1679578464111}
|
||||
{"stream": "purchases", "data": {"AccountRef": {"value": "41", "name": "Mastercard"}, "PaymentType": "CreditCard", "EntityRef": {"value": "57", "name": "Squeaky Kleen Car Wash", "type": "Vendor"}, "Credit": false, "TotalAmt": 19.99, "PurchaseEx": {"any": [{"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "TxnType", "Value": "1"}, "nil": false, "globalScope": true, "typeSubstituted": false}]}, "domain": "QBO", "sparse": false, "Id": "141", "SyncToken": "0", "MetaData": {"CreateTime": "2023-03-04T14:37:27-08:00", "LastUpdatedTime": "2023-03-04T14:37:27-08:00"}, "TxnDate": "2023-02-23", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Id": "1", "Amount": 19.99, "DetailType": "AccountBasedExpenseLineDetail", "AccountBasedExpenseLineDetail": {"AccountRef": {"value": "55", "name": "Automobile"}, "BillableStatus": "NotBillable", "TaxCodeRef": {"value": "NON"}}}], "airbyte_cursor": "2023-03-04T14:37:27-08:00"}, "emitted_at": 1679578464116}
|
||||
{"stream": "purchases", "data": {"AccountRef": {"value": "41", "name": "Mastercard"}, "PaymentType": "CreditCard", "EntityRef": {"value": "57", "name": "Squeaky Kleen Car Wash", "type": "Vendor"}, "Credit": false, "TotalAmt": 19.99, "PurchaseEx": {"any": [{"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "TxnType", "Value": "1"}, "nil": false, "globalScope": true, "typeSubstituted": false}]}, "domain": "QBO", "sparse": false, "Id": "142", "SyncToken": "0", "MetaData": {"CreateTime": "2023-03-04T14:37:54-08:00", "LastUpdatedTime": "2023-03-04T14:37:54-08:00"}, "TxnDate": "2023-03-02", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Id": "1", "Amount": 19.99, "DetailType": "AccountBasedExpenseLineDetail", "AccountBasedExpenseLineDetail": {"AccountRef": {"value": "55", "name": "Automobile"}, "BillableStatus": "NotBillable", "TaxCodeRef": {"value": "NON"}}}], "airbyte_cursor": "2023-03-04T14:37:54-08:00"}, "emitted_at": 1679578464122}
|
||||
{"stream": "purchases", "data": {"AccountRef": {"value": "41", "name": "Mastercard"}, "PaymentType": "CreditCard", "EntityRef": {"value": "41", "name": "Hicks Hardware", "type": "Vendor"}, "Credit": false, "TotalAmt": 42.4, "PurchaseEx": {"any": [{"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "TxnType", "Value": "1"}, "nil": false, "globalScope": true, "typeSubstituted": false}]}, "domain": "QBO", "sparse": false, "Id": "143", "SyncToken": "0", "MetaData": {"CreateTime": "2023-03-04T14:45:20-08:00", "LastUpdatedTime": "2023-03-04T14:45:20-08:00"}, "TxnDate": "2023-02-24", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Id": "1", "Amount": 42.4, "DetailType": "AccountBasedExpenseLineDetail", "AccountBasedExpenseLineDetail": {"AccountRef": {"value": "64", "name": "Job Expenses:Job Materials:Decks and Patios"}, "BillableStatus": "NotBillable", "TaxCodeRef": {"value": "NON"}}}], "airbyte_cursor": "2023-03-04T14:45:20-08:00"}, "emitted_at": 1679578464128}
|
||||
{"stream": "purchases", "data": {"AccountRef": {"value": "41", "name": "Mastercard"}, "PaymentType": "CreditCard", "Credit": false, "TotalAmt": 34.0, "PurchaseEx": {"any": [{"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "TxnType", "Value": "1"}, "nil": false, "globalScope": true, "typeSubstituted": false}]}, "domain": "QBO", "sparse": false, "Id": "144", "SyncToken": "0", "MetaData": {"CreateTime": "2023-03-15T14:04:25-07:00", "LastUpdatedTime": "2023-03-15T14:04:25-07:00"}, "TxnDate": "2023-03-15", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Id": "1", "Amount": 34.0, "DetailType": "AccountBasedExpenseLineDetail", "AccountBasedExpenseLineDetail": {"AccountRef": {"value": "55", "name": "Automobile"}, "BillableStatus": "NotBillable", "TaxCodeRef": {"value": "NON"}}}], "airbyte_cursor": "2023-03-15T14:04:25-07:00"}, "emitted_at": 1679578464133}
|
||||
{"stream": "payments", "data": {"CustomerRef": {"value": "26", "name": "Travis Waldron"}, "DepositToAccountRef": {"value": "4"}, "TotalAmt": 81.0, "UnappliedAmt": 0, "ProcessPayment": false, "domain": "QBO", "sparse": false, "Id": "98", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T13:35:42-08:00", "LastUpdatedTime": "2023-02-17T13:35:42-08:00"}, "TxnDate": "2023-02-17", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [{"TxnId": "121", "TxnType": "Deposit"}], "Line": [{"Amount": 81.0, "LinkedTxn": [{"TxnId": "42", "TxnType": "Invoice"}], "LineEx": {"any": [{"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnId", "Value": "42"}, "nil": false, "globalScope": true, "typeSubstituted": false}, {"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnOpenBalance", "Value": "81.00"}, "nil": false, "globalScope": true, "typeSubstituted": false}, {"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnReferenceNumber", "Value": "1013"}, "nil": false, "globalScope": true, "typeSubstituted": false}]}}], "airbyte_cursor": "2023-02-17T13:35:42-08:00"}, "emitted_at": 1679578467082}
|
||||
{"stream": "payments", "data": {"CustomerRef": {"value": "1", "name": "Amy's Bird Sanctuary"}, "DepositToAccountRef": {"value": "4"}, "PaymentMethodRef": {"value": "2"}, "TotalAmt": 220.0, "UnappliedAmt": 0, "ProcessPayment": false, "domain": "QBO", "sparse": false, "Id": "101", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T13:39:32-08:00", "LastUpdatedTime": "2023-02-17T13:39:32-08:00"}, "TxnDate": "2023-02-17", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [{"TxnId": "121", "TxnType": "Deposit"}], "Line": [{"Amount": 220.0, "LinkedTxn": [{"TxnId": "67", "TxnType": "Invoice"}], "LineEx": {"any": [{"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnId", "Value": "67"}, "nil": false, "globalScope": true, "typeSubstituted": false}, {"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnOpenBalance", "Value": "459.00"}, "nil": false, "globalScope": true, "typeSubstituted": false}, {"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnReferenceNumber", "Value": "1021"}, "nil": false, "globalScope": true, "typeSubstituted": false}]}}], "airbyte_cursor": "2023-02-17T13:39:32-08:00"}, "emitted_at": 1679578467089}
|
||||
{"stream": "payments", "data": {"CustomerRef": {"value": "25", "name": "Sushi by Katsuyuki"}, "DepositToAccountRef": {"value": "4"}, "TotalAmt": 80.0, "UnappliedAmt": 0, "ProcessPayment": false, "domain": "QBO", "sparse": false, "Id": "116", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-18T12:52:44-08:00", "LastUpdatedTime": "2023-02-18T12:52:44-08:00"}, "TxnDate": "2023-02-14", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [{"TxnId": "121", "TxnType": "Deposit"}], "Line": [{"Amount": 80.0, "LinkedTxn": [{"TxnId": "63", "TxnType": "Invoice"}], "LineEx": {"any": [{"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnId", "Value": "63"}, "nil": false, "globalScope": true, "typeSubstituted": false}, {"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnOpenBalance", "Value": "80.00"}, "nil": false, "globalScope": true, "typeSubstituted": false}, {"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnReferenceNumber", "Value": "1017"}, "nil": false, "globalScope": true, "typeSubstituted": false}]}}], "airbyte_cursor": "2023-02-18T12:52:44-08:00"}, "emitted_at": 1679578467093}
|
||||
{"stream": "payments", "data": {"CustomerRef": {"value": "3", "name": "Cool Cars"}, "DepositToAccountRef": {"value": "4"}, "TotalAmt": 1675.52, "UnappliedAmt": 0, "ProcessPayment": false, "domain": "QBO", "sparse": false, "Id": "120", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-18T12:59:21-08:00", "LastUpdatedTime": "2023-02-18T12:59:21-08:00"}, "TxnDate": "2023-02-18", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Amount": 1675.52, "LinkedTxn": [{"TxnId": "12", "TxnType": "Invoice"}], "LineEx": {"any": [{"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnId", "Value": "12"}, "nil": false, "globalScope": true, "typeSubstituted": false}, {"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnOpenBalance", "Value": "1675.52"}, "nil": false, "globalScope": true, "typeSubstituted": false}, {"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnReferenceNumber", "Value": "1004"}, "nil": false, "globalScope": true, "typeSubstituted": false}]}}], "airbyte_cursor": "2023-02-18T12:59:21-08:00"}, "emitted_at": 1679578467098}
|
||||
{"stream": "payments", "data": {"CustomerRef": {"value": "8", "name": "0969 Ocean View Road"}, "DepositToAccountRef": {"value": "4"}, "TotalAmt": 387.0, "UnappliedAmt": 0, "ProcessPayment": false, "domain": "QBO", "sparse": false, "Id": "128", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-18T13:13:33-08:00", "LastUpdatedTime": "2023-02-18T13:13:33-08:00"}, "TxnDate": "2023-02-18", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Amount": 387.0, "LinkedTxn": [{"TxnId": "96", "TxnType": "Invoice"}], "LineEx": {"any": [{"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnId", "Value": "96"}, "nil": false, "globalScope": true, "typeSubstituted": false}, {"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnOpenBalance", "Value": "387.00"}, "nil": false, "globalScope": true, "typeSubstituted": false}, {"name": "{http://schema.intuit.com/finance/v3}NameValue", "declaredType": "com.intuit.schema.finance.v3.NameValue", "scope": "javax.xml.bind.JAXBElement$GlobalScope", "value": {"Name": "txnReferenceNumber", "Value": "1031"}, "nil": false, "globalScope": true, "typeSubstituted": false}]}}], "airbyte_cursor": "2023-02-18T13:13:33-08:00"}, "emitted_at": 1679578467104}
|
||||
{"stream": "purchase_orders", "data": {"VendorAddr": {"Id": "63", "Line1": "Tim Philip", "Line2": "Tim Philip Masonry", "Line3": "3948 Elm St.", "Line4": "Middlefield, CA 94482", "Lat": "INVALID", "Long": "INVALID"}, "ShipAddr": {"Id": "64", "Line1": "Craig's Design and Landscaping Services", "Line2": "123 Sierra Way", "Line3": "San Pablo, CA 87999", "Lat": "INVALID", "Long": "INVALID"}, "POStatus": "Open", "domain": "QBO", "sparse": false, "Id": "45", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-16T11:33:16-08:00", "LastUpdatedTime": "2023-02-16T11:33:16-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType"}, {"DefinitionId": "2", "Name": "Sales Rep", "Type": "StringType"}], "DocNumber": "1002", "TxnDate": "2023-02-16", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [], "Line": [{"Id": "1", "LineNum": 1, "Description": "Rock Fountain", "Amount": 125.0, "DetailType": "ItemBasedExpenseLineDetail", "ItemBasedExpenseLineDetail": {"BillableStatus": "NotBillable", "ItemRef": {"value": "5", "name": "Rock Fountain"}, "UnitPrice": 125, "Qty": 1, "TaxCodeRef": {"value": "NON"}}}], "VendorRef": {"value": "51", "name": "Tim Philip Masonry"}, "APAccountRef": {"value": "33", "name": "Accounts Payable (A/P)"}, "TotalAmt": 125.0, "airbyte_cursor": "2023-02-16T11:33:16-08:00"}, "emitted_at": 1679578470100}
|
||||
{"stream": "purchase_orders", "data": {"VendorAddr": {"Id": "89", "Line1": "Geoff Hicks", "Line2": "Hicks Hardware", "Line3": "42 Main St.", "Line4": "Middlefield, CA 94303", "Lat": "37.4530553", "Long": "-122.1178261"}, "ShipAddr": {"Id": "90", "Line1": "Craig's Design and Landscaping Services", "Line2": "123 Sierra Way", "Line3": "San Pablo, CA 87999", "Lat": "INVALID", "Long": "INVALID"}, "POStatus": "Closed", "domain": "QBO", "sparse": false, "Id": "114", "SyncToken": "2", "MetaData": {"CreateTime": "2023-02-18T12:50:05-08:00", "LastUpdatedTime": "2023-02-18T12:51:47-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType"}, {"DefinitionId": "2", "Name": "Sales Rep", "Type": "StringType"}], "DocNumber": "1003", "TxnDate": "2023-02-18", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [{"TxnId": "115", "TxnType": "Purchase"}], "Line": [{"Id": "1", "LineNum": 1, "Description": "Rock Fountain", "Amount": 125.0, "DetailType": "ItemBasedExpenseLineDetail", "ItemBasedExpenseLineDetail": {"CustomerRef": {"value": "25", "name": "Sushi by Katsuyuki"}, "BillableStatus": "NotBillable", "ItemRef": {"value": "5", "name": "Rock Fountain"}, "UnitPrice": 125, "Qty": 1, "TaxCodeRef": {"value": "NON"}}}, {"Id": "2", "LineNum": 2, "Description": "Sprinkler Heads", "Amount": 11.25, "DetailType": "ItemBasedExpenseLineDetail", "ItemBasedExpenseLineDetail": {"CustomerRef": {"value": "25", "name": "Sushi by Katsuyuki"}, "BillableStatus": "NotBillable", "ItemRef": {"value": "16", "name": "Sprinkler Heads"}, "UnitPrice": 0.75, "Qty": 15, "TaxCodeRef": {"value": "NON"}}}, {"Id": "3", "LineNum": 3, "Description": "Sprinkler Pipes", "Amount": 62.5, "DetailType": "ItemBasedExpenseLineDetail", "ItemBasedExpenseLineDetail": {"CustomerRef": {"value": "25", "name": "Sushi by Katsuyuki"}, "BillableStatus": "NotBillable", "ItemRef": {"value": "17", "name": "Sprinkler Pipes"}, "UnitPrice": 2.5, "Qty": 25, "TaxCodeRef": {"value": "NON"}}}, {"Id": "4", "LineNum": 4, "Description": "Fountain Pump", "Amount": 30.0, "DetailType": "ItemBasedExpenseLineDetail", "ItemBasedExpenseLineDetail": {"BillableStatus": "NotBillable", "ItemRef": {"value": "11", "name": "Pump"}, "UnitPrice": 10, "Qty": 3, "TaxCodeRef": {"value": "NON"}}}], "VendorRef": {"value": "41", "name": "Hicks Hardware"}, "APAccountRef": {"value": "33", "name": "Accounts Payable (A/P)"}, "TotalAmt": 228.75, "airbyte_cursor": "2023-02-18T12:51:47-08:00"}, "emitted_at": 1679578470111}
|
||||
{"stream": "purchase_orders", "data": {"VendorAddr": {"Id": "92", "Line1": "Julie Norton", "Line2": "Norton Lumber and Building Materials", "Line3": "4528 Country Road", "Line4": "Middlefield, CA 94303", "Lat": "37.4530553", "Long": "-122.1178261"}, "ShipAddr": {"Id": "93", "Line1": "Craig's Design and Landscaping Services", "Line2": "123 Sierra Way", "Line3": "San Pablo, CA 87999", "Lat": "INVALID", "Long": "INVALID"}, "POStatus": "Closed", "domain": "QBO", "sparse": false, "Id": "125", "SyncToken": "1", "MetaData": {"CreateTime": "2023-02-18T13:10:14-08:00", "LastUpdatedTime": "2023-02-18T13:10:36-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType"}, {"DefinitionId": "2", "Name": "Sales Rep", "Type": "StringType"}], "DocNumber": "1004", "TxnDate": "2023-02-18", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [{"TxnId": "126", "TxnType": "Bill"}], "Line": [{"Id": "1", "LineNum": 1, "Description": "Fountain Pump", "Amount": 80.0, "DetailType": "ItemBasedExpenseLineDetail", "ItemBasedExpenseLineDetail": {"BillableStatus": "NotBillable", "ItemRef": {"value": "11", "name": "Pump"}, "UnitPrice": 10, "Qty": 8, "TaxCodeRef": {"value": "NON"}}}, {"Id": "2", "LineNum": 2, "Description": "Rock Fountain", "Amount": 125.0, "DetailType": "ItemBasedExpenseLineDetail", "ItemBasedExpenseLineDetail": {"BillableStatus": "NotBillable", "ItemRef": {"value": "5", "name": "Rock Fountain"}, "UnitPrice": 125, "Qty": 1, "TaxCodeRef": {"value": "NON"}}}], "VendorRef": {"value": "46", "name": "Norton Lumber and Building Materials"}, "APAccountRef": {"value": "33", "name": "Accounts Payable (A/P)"}, "TotalAmt": 205.0, "airbyte_cursor": "2023-02-18T13:10:36-08:00"}, "emitted_at": 1679578470121}
|
||||
{"stream": "payment_methods", "data": {"Name": "Discover", "Active": true, "Type": "CREDIT_CARD", "domain": "QBO", "sparse": false, "Id": "5", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T14:42:05-08:00", "LastUpdatedTime": "2023-02-10T14:42:05-08:00"}, "airbyte_cursor": "2023-02-10T14:42:05-08:00"}, "emitted_at": 1679578472922}
|
||||
{"stream": "payment_methods", "data": {"Name": "MasterCard", "Active": true, "Type": "CREDIT_CARD", "domain": "QBO", "sparse": false, "Id": "4", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T14:42:05-08:00", "LastUpdatedTime": "2023-02-10T14:42:05-08:00"}, "airbyte_cursor": "2023-02-10T14:42:05-08:00"}, "emitted_at": 1679578472927}
|
||||
{"stream": "payment_methods", "data": {"Name": "Visa", "Active": true, "Type": "CREDIT_CARD", "domain": "QBO", "sparse": false, "Id": "3", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T14:42:05-08:00", "LastUpdatedTime": "2023-02-10T14:42:05-08:00"}, "airbyte_cursor": "2023-02-10T14:42:05-08:00"}, "emitted_at": 1679578472931}
|
||||
{"stream": "payment_methods", "data": {"Name": "Check", "Active": true, "Type": "NON_CREDIT_CARD", "domain": "QBO", "sparse": false, "Id": "2", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T14:42:05-08:00", "LastUpdatedTime": "2023-02-10T14:42:05-08:00"}, "airbyte_cursor": "2023-02-10T14:42:05-08:00"}, "emitted_at": 1679578472938}
|
||||
{"stream": "payment_methods", "data": {"Name": "Cash", "Active": true, "Type": "NON_CREDIT_CARD", "domain": "QBO", "sparse": false, "Id": "1", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T14:42:05-08:00", "LastUpdatedTime": "2023-02-10T14:42:05-08:00"}, "airbyte_cursor": "2023-02-10T14:42:05-08:00"}, "emitted_at": 1679578472942}
|
||||
{"stream": "journal_entries", "data": {"Adjustment": false, "domain": "QBO", "sparse": false, "Id": "6", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-14T12:11:06-08:00", "LastUpdatedTime": "2023-02-14T12:11:06-08:00"}, "TxnDate": "2023-02-02", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "PrivateNote": "Opening Balance", "Line": [{"Id": "0", "Description": "Opening Balance", "Amount": 13495.0, "DetailType": "JournalEntryLineDetail", "JournalEntryLineDetail": {"PostingType": "Debit", "AccountRef": {"value": "38", "name": "Truck:Original Cost"}}}, {"Id": "1", "Description": "Opening Balance", "Amount": 13495.0, "DetailType": "JournalEntryLineDetail", "JournalEntryLineDetail": {"PostingType": "Credit", "AccountRef": {"value": "34", "name": "Opening Balance Equity"}}}], "TxnTaxDetail": {}, "airbyte_cursor": "2023-02-14T12:11:06-08:00"}, "emitted_at": 1679578475893}
|
||||
{"stream": "journal_entries", "data": {"Adjustment": false, "domain": "QBO", "sparse": false, "Id": "7", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-15T10:03:25-08:00", "LastUpdatedTime": "2023-02-15T10:03:25-08:00"}, "TxnDate": "2023-02-15", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "PrivateNote": "Opening Balance", "Line": [{"Id": "0", "Description": "Opening Balance", "Amount": 4000.0, "DetailType": "JournalEntryLineDetail", "JournalEntryLineDetail": {"PostingType": "Credit", "AccountRef": {"value": "43", "name": "Loan Payable"}}}, {"Id": "1", "Description": "Opening Balance", "Amount": 4000.0, "DetailType": "JournalEntryLineDetail", "JournalEntryLineDetail": {"PostingType": "Debit", "AccountRef": {"value": "34", "name": "Opening Balance Equity"}}}], "TxnTaxDetail": {}, "airbyte_cursor": "2023-02-15T10:03:25-08:00"}, "emitted_at": 1679578475898}
|
||||
{"stream": "journal_entries", "data": {"Adjustment": false, "domain": "QBO", "sparse": false, "Id": "8", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-15T10:04:24-08:00", "LastUpdatedTime": "2023-02-15T10:04:24-08:00"}, "TxnDate": "2023-02-15", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "PrivateNote": "Opening Balance", "Line": [{"Id": "0", "Description": "Opening Balance", "Amount": 25000.0, "DetailType": "JournalEntryLineDetail", "JournalEntryLineDetail": {"PostingType": "Credit", "AccountRef": {"value": "44", "name": "Notes Payable"}}}, {"Id": "1", "Description": "Opening Balance", "Amount": 25000.0, "DetailType": "JournalEntryLineDetail", "JournalEntryLineDetail": {"PostingType": "Debit", "AccountRef": {"value": "34", "name": "Opening Balance Equity"}}}], "TxnTaxDetail": {}, "airbyte_cursor": "2023-02-15T10:04:24-08:00"}, "emitted_at": 1679578475904}
|
||||
{"stream": "items", "data": {"Name": "Concrete", "Description": "Concrete for fountain installation", "Active": true, "FullyQualifiedName": "Concrete", "Taxable": true, "UnitPrice": 0, "Type": "Service", "IncomeAccountRef": {"value": "48", "name": "Fountains and Garden Lighting"}, "PurchaseCost": 0, "TrackQtyOnHand": false, "domain": "QBO", "sparse": false, "Id": "3", "SyncToken": "1", "MetaData": {"CreateTime": "2023-02-15T10:36:03-08:00", "LastUpdatedTime": "2023-02-18T12:47:47-08:00"}, "airbyte_cursor": "2023-02-18T12:47:47-08:00"}, "emitted_at": 1679578478817}
|
||||
{"stream": "items", "data": {"Name": "Sprinkler Heads", "Description": "Sprinkler Heads", "Active": true, "FullyQualifiedName": "Sprinkler Heads", "Taxable": true, "UnitPrice": 2, "Type": "Inventory", "IncomeAccountRef": {"value": "79", "name": "Sales of Product Income"}, "PurchaseDesc": "Sprinkler Heads", "PurchaseCost": 0.75, "ExpenseAccountRef": {"value": "80", "name": "Cost of Goods Sold"}, "AssetAccountRef": {"value": "81", "name": "Inventory Asset"}, "TrackQtyOnHand": true, "QtyOnHand": 25, "InvStartDate": "2023-02-18", "domain": "QBO", "sparse": false, "Id": "16", "SyncToken": "3", "MetaData": {"CreateTime": "2023-02-15T10:51:50-08:00", "LastUpdatedTime": "2023-02-18T12:51:47-08:00"}, "airbyte_cursor": "2023-02-18T12:51:47-08:00"}, "emitted_at": 1679578478823}
|
||||
{"stream": "items", "data": {"Name": "Sprinkler Pipes", "Description": "Sprinkler Pipes", "Active": true, "FullyQualifiedName": "Sprinkler Pipes", "Taxable": true, "UnitPrice": 4, "Type": "Inventory", "IncomeAccountRef": {"value": "79", "name": "Sales of Product Income"}, "PurchaseDesc": "Sprinkler Pipes", "PurchaseCost": 2.5, "ExpenseAccountRef": {"value": "80", "name": "Cost of Goods Sold"}, "AssetAccountRef": {"value": "81", "name": "Inventory Asset"}, "TrackQtyOnHand": true, "QtyOnHand": 31, "InvStartDate": "2023-02-18", "domain": "QBO", "sparse": false, "Id": "17", "SyncToken": "3", "MetaData": {"CreateTime": "2023-02-15T10:52:07-08:00", "LastUpdatedTime": "2023-02-18T12:57:24-08:00"}, "airbyte_cursor": "2023-02-18T12:57:24-08:00"}, "emitted_at": 1679578478827}
|
||||
{"stream": "items", "data": {"Name": "Pump", "Description": "Fountain Pump", "Active": true, "FullyQualifiedName": "Pump", "Taxable": true, "UnitPrice": 15, "Type": "Inventory", "IncomeAccountRef": {"value": "79", "name": "Sales of Product Income"}, "PurchaseDesc": "Fountain Pump", "PurchaseCost": 10, "ExpenseAccountRef": {"value": "80", "name": "Cost of Goods Sold"}, "AssetAccountRef": {"value": "81", "name": "Inventory Asset"}, "TrackQtyOnHand": true, "QtyOnHand": 25, "InvStartDate": "2023-02-18", "domain": "QBO", "sparse": false, "Id": "11", "SyncToken": "3", "MetaData": {"CreateTime": "2023-02-15T10:46:45-08:00", "LastUpdatedTime": "2023-02-18T13:16:17-08:00"}, "airbyte_cursor": "2023-02-18T13:16:17-08:00"}, "emitted_at": 1679578478831}
|
||||
{"stream": "items", "data": {"Name": "Rock Fountain", "Description": "Rock Fountain", "Active": true, "FullyQualifiedName": "Rock Fountain", "Taxable": true, "UnitPrice": 275, "Type": "Inventory", "IncomeAccountRef": {"value": "79", "name": "Sales of Product Income"}, "PurchaseDesc": "Rock Fountain", "PurchaseCost": 125, "ExpenseAccountRef": {"value": "80", "name": "Cost of Goods Sold"}, "AssetAccountRef": {"value": "81", "name": "Inventory Asset"}, "TrackQtyOnHand": true, "QtyOnHand": 2, "InvStartDate": "2023-02-18", "domain": "QBO", "sparse": false, "Id": "5", "SyncToken": "2", "MetaData": {"CreateTime": "2023-02-15T10:42:19-08:00", "LastUpdatedTime": "2023-02-18T13:16:17-08:00"}, "airbyte_cursor": "2023-02-18T13:16:17-08:00"}, "emitted_at": 1679578478838}
|
||||
{"stream": "invoices", "data": {"AllowIPNPayment": false, "AllowOnlinePayment": false, "AllowOnlineCreditCardPayment": false, "AllowOnlineACHPayment": false, "domain": "QBO", "sparse": false, "Id": "119", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-18T12:57:24-08:00", "LastUpdatedTime": "2023-02-18T12:57:24-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType", "StringValue": "104"}], "DocNumber": "1035", "TxnDate": "2023-02-18", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [], "Line": [{"Id": "1", "LineNum": 1, "Description": "Rock Fountain", "Amount": 275.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "5", "name": "Rock Fountain"}, "UnitPrice": 275, "Qty": 1, "TaxCodeRef": {"value": "TAX"}}}, {"Id": "2", "LineNum": 2, "Description": "Sprinkler Pipes", "Amount": 16.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "17", "name": "Sprinkler Pipes"}, "UnitPrice": 4, "Qty": 4, "TaxCodeRef": {"value": "TAX"}}}, {"Amount": 291.0, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}], "TxnTaxDetail": {"TxnTaxCodeRef": {"value": "2"}, "TotalTax": 23.28, "TaxLine": [{"Amount": 23.28, "DetailType": "TaxLineDetail", "TaxLineDetail": {"TaxRateRef": {"value": "3"}, "PercentBased": true, "TaxPercent": 8, "NetAmountTaxable": 291.0}}]}, "CustomerRef": {"value": "17", "name": "Mark Cho"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "91", "Line1": "Mark Cho", "Line2": "36 Willow Rd", "Line3": "Menlo Park, CA 94304", "Lat": "37.3813444", "Long": "-122.1802812"}, "ShipAddr": {"Id": "17", "Line1": "36 Willow Rd", "City": "Menlo Park", "CountrySubDivisionCode": "CA", "PostalCode": "94304", "Lat": "37.450412", "Long": "-122.170593"}, "SalesTermRef": {"value": "3", "name": "Net 30"}, "DueDate": "2023-03-20", "TotalAmt": 314.28, "ApplyTaxAfterDiscount": false, "PrintStatus": "NeedToPrint", "EmailStatus": "NotSet", "BillEmail": {"Address": "Mark@Cho.com"}, "Balance": 314.28, "airbyte_cursor": "2023-02-18T12:57:24-08:00"}, "emitted_at": 1679578482341}
|
||||
{"stream": "invoices", "data": {"AllowIPNPayment": false, "AllowOnlinePayment": false, "AllowOnlineCreditCardPayment": false, "AllowOnlineACHPayment": false, "domain": "QBO", "sparse": false, "Id": "12", "SyncToken": "3", "MetaData": {"CreateTime": "2023-02-15T15:04:04-08:00", "LastUpdatedTime": "2023-02-18T12:59:21-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType"}], "DocNumber": "1004", "TxnDate": "2023-02-06", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [{"TxnId": "120", "TxnType": "Payment"}, {"TxnId": "61", "TxnType": "Payment"}], "Line": [{"Id": "1", "LineNum": 1, "Description": "Sprinkler Heads", "Amount": 20.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "16", "name": "Sprinkler Heads"}, "UnitPrice": 2, "Qty": 10, "TaxCodeRef": {"value": "TAX"}}}, {"Id": "2", "LineNum": 2, "Description": "Sprinkler Pipes", "Amount": 24.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "17", "name": "Sprinkler Pipes"}, "UnitPrice": 4, "Qty": 6, "TaxCodeRef": {"value": "TAX"}}}, {"Id": "3", "LineNum": 3, "Description": "Sod", "Amount": 1750.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "14", "name": "Sod"}, "UnitPrice": 35, "Qty": 50, "TaxCodeRef": {"value": "TAX"}}}, {"Id": "4", "LineNum": 4, "Description": "Installation Hours", "Amount": 400.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "1", "name": "Services"}, "UnitPrice": 50, "Qty": 8, "TaxCodeRef": {"value": "TAX"}}}, {"Amount": 2194.0, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}], "TxnTaxDetail": {"TxnTaxCodeRef": {"value": "2"}, "TotalTax": 175.52, "TaxLine": [{"Amount": 175.52, "DetailType": "TaxLineDetail", "TaxLineDetail": {"TaxRateRef": {"value": "3"}, "PercentBased": true, "TaxPercent": 8, "NetAmountTaxable": 2194.0}}]}, "CustomerRef": {"value": "3", "name": "Cool Cars"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "50", "Line1": "Grace Pariente", "Line2": "Cool Cars", "Line3": "65 Ocean Dr.", "Line4": "Half Moon Bay, CA 94213", "Lat": "INVALID", "Long": "INVALID"}, "SalesTermRef": {"value": "3", "name": "Net 30"}, "DueDate": "2023-03-08", "TotalAmt": 2369.52, "ApplyTaxAfterDiscount": false, "PrintStatus": "NotSet", "EmailStatus": "NotSet", "BillEmail": {"Address": "Cool_Cars@intuit.com"}, "Balance": 0, "airbyte_cursor": "2023-02-18T12:59:21-08:00"}, "emitted_at": 1679578482348}
|
||||
{"stream": "invoices", "data": {"AllowIPNPayment": false, "AllowOnlinePayment": false, "AllowOnlineCreditCardPayment": false, "AllowOnlineACHPayment": false, "domain": "QBO", "sparse": false, "Id": "96", "SyncToken": "1", "MetaData": {"CreateTime": "2023-02-17T13:30:49-08:00", "LastUpdatedTime": "2023-02-18T13:13:33-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType", "StringValue": "101"}], "DocNumber": "1031", "TxnDate": "2022-12-04", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [{"TxnId": "128", "TxnType": "Payment"}], "Line": [{"Id": "1", "LineNum": 1, "Description": "Weekly Gardening Service", "Amount": 90.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "6", "name": "Gardening"}, "UnitPrice": 30, "Qty": 3, "TaxCodeRef": {"value": "NON"}}}, {"Id": "2", "LineNum": 2, "Description": "Rock Fountain", "Amount": 275.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "5", "name": "Rock Fountain"}, "UnitPrice": 275, "Qty": 1, "TaxCodeRef": {"value": "TAX"}}}, {"Amount": 365.0, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}], "TxnTaxDetail": {"TxnTaxCodeRef": {"value": "2"}, "TotalTax": 22.0, "TaxLine": [{"Amount": 22.0, "DetailType": "TaxLineDetail", "TaxLineDetail": {"TaxRateRef": {"value": "3"}, "PercentBased": true, "TaxPercent": 8, "NetAmountTaxable": 275.0}}]}, "CustomerRef": {"value": "8", "name": "0969 Ocean View Road"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "84", "Line1": "Sasha Tillou", "Line2": "Freeman Sporting Goods", "Line3": "370 Easy St.", "Line4": "Middlefield, CA 94482", "Lat": "INVALID", "Long": "INVALID"}, "ShipAddr": {"Id": "8", "Line1": "370 Easy St.", "City": "Middlefield", "CountrySubDivisionCode": "CA", "PostalCode": "94482", "Lat": "37.4031672", "Long": "-122.0642815"}, "SalesTermRef": {"value": "3", "name": "Net 30"}, "DueDate": "2023-01-03", "TotalAmt": 387.0, "ApplyTaxAfterDiscount": false, "PrintStatus": "NeedToPrint", "EmailStatus": "NotSet", "BillEmail": {"Address": "Sporting_goods@intuit.com"}, "Balance": 0, "airbyte_cursor": "2023-02-18T13:13:33-08:00"}, "emitted_at": 1679578482358}
|
||||
{"stream": "invoices", "data": {"AllowIPNPayment": false, "AllowOnlinePayment": false, "AllowOnlineCreditCardPayment": false, "AllowOnlineACHPayment": false, "domain": "QBO", "sparse": false, "Id": "129", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-18T13:15:36-08:00", "LastUpdatedTime": "2023-02-18T13:15:36-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType", "StringValue": "105"}], "DocNumber": "1036", "TxnDate": "2023-02-18", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [], "Line": [{"Id": "1", "LineNum": 1, "Description": "Sod", "Amount": 50.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "14", "name": "Sod"}, "UnitPrice": 10, "Qty": 5, "TaxCodeRef": {"value": "TAX"}}}, {"Id": "2", "LineNum": 2, "Description": "2 cubic ft. bag", "Amount": 50.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "15", "name": "Soil"}, "UnitPrice": 10, "Qty": 5, "TaxCodeRef": {"value": "TAX"}}}, {"Id": "3", "LineNum": 3, "Description": "Weekly Gardening Service", "Amount": 87.5, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "6", "name": "Gardening"}, "UnitPrice": 25, "Qty": 3.5, "TaxCodeRef": {"value": "NON"}}}, {"Id": "4", "LineNum": 4, "Description": "Rock Fountain", "Amount": 275.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "5", "name": "Rock Fountain"}, "UnitPrice": 275, "Qty": 1, "TaxCodeRef": {"value": "TAX"}}}, {"Id": "5", "LineNum": 5, "Description": "Fountain Pump", "Amount": 15.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "11", "name": "Pump"}, "UnitPrice": 15, "Qty": 1, "TaxCodeRef": {"value": "TAX"}}}, {"Amount": 477.5, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}], "TxnTaxDetail": {"TotalTax": 0}, "CustomerRef": {"value": "8", "name": "0969 Ocean View Road"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "94", "Line1": "Sasha Tillou", "Line2": "Freeman Sporting Goods", "Line3": "370 Easy St.", "Line4": "Middlefield, CA 94482", "Lat": "INVALID", "Long": "INVALID"}, "ShipAddr": {"Id": "8", "Line1": "370 Easy St.", "City": "Middlefield", "CountrySubDivisionCode": "CA", "PostalCode": "94482", "Lat": "37.4031672", "Long": "-122.0642815"}, "SalesTermRef": {"value": "3", "name": "Net 30"}, "DueDate": "2023-03-20", "TotalAmt": 477.5, "ApplyTaxAfterDiscount": false, "PrintStatus": "NeedToPrint", "EmailStatus": "NotSet", "BillEmail": {"Address": "Sporting_goods@intuit.com"}, "Balance": 477.5, "airbyte_cursor": "2023-02-18T13:15:36-08:00"}, "emitted_at": 1679578482364}
|
||||
{"stream": "invoices", "data": {"AllowIPNPayment": false, "AllowOnlinePayment": false, "AllowOnlineCreditCardPayment": false, "AllowOnlineACHPayment": false, "domain": "QBO", "sparse": false, "Id": "130", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-18T13:16:17-08:00", "LastUpdatedTime": "2023-02-18T13:16:17-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType", "StringValue": "102"}], "DocNumber": "1037", "TxnDate": "2023-02-18", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "LinkedTxn": [{"TxnId": "100", "TxnType": "Estimate"}], "Line": [{"Id": "1", "LineNum": 1, "Description": "Rock Fountain", "Amount": 275.0, "LinkedTxn": [{"TxnId": "100", "TxnType": "Estimate"}], "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "5", "name": "Rock Fountain"}, "UnitPrice": 275, "Qty": 1, "TaxCodeRef": {"value": "TAX"}}}, {"Id": "2", "LineNum": 2, "Description": "Fountain Pump", "Amount": 12.75, "LinkedTxn": [{"TxnId": "100", "TxnType": "Estimate"}], "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "11", "name": "Pump"}, "UnitPrice": 12.75, "Qty": 1, "TaxCodeRef": {"value": "TAX"}}}, {"Id": "3", "LineNum": 3, "Description": "Concrete for fountain installation", "Amount": 47.5, "LinkedTxn": [{"TxnId": "100", "TxnType": "Estimate"}], "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "3", "name": "Concrete"}, "UnitPrice": 9.5, "Qty": 5, "TaxCodeRef": {"value": "TAX"}}}, {"Amount": 335.25, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}], "TxnTaxDetail": {"TxnTaxCodeRef": {"value": "2"}, "TotalTax": 26.82, "TaxLine": [{"Amount": 26.82, "DetailType": "TaxLineDetail", "TaxLineDetail": {"TaxRateRef": {"value": "3"}, "PercentBased": true, "TaxPercent": 8, "NetAmountTaxable": 335.25}}]}, "CustomerRef": {"value": "24", "name": "Sonnenschein Family Store"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "95", "Line1": "Russ Sonnenschein", "Line2": "Sonnenschein Family Store", "Line3": "5647 Cypress Hill Ave.", "Line4": "Middlefield, CA 94303", "Lat": "37.4238562", "Long": "-122.1141681"}, "ShipAddr": {"Id": "25", "Line1": "5647 Cypress Hill Ave.", "City": "Middlefield", "CountrySubDivisionCode": "CA", "PostalCode": "94303", "Lat": "37.4238562", "Long": "-122.1141681"}, "SalesTermRef": {"value": "3", "name": "Net 30"}, "DueDate": "2023-03-20", "TotalAmt": 362.07, "ApplyTaxAfterDiscount": false, "PrintStatus": "NeedToPrint", "EmailStatus": "NotSet", "BillEmail": {"Address": "Familiystore@intuit.com"}, "Balance": 362.07, "airbyte_cursor": "2023-02-18T13:16:17-08:00"}, "emitted_at": 1679578482375}
|
||||
{"stream": "customers", "data": {"Taxable": false, "BillAddr": {"Id": "17", "Line1": "36 Willow Rd", "City": "Menlo Park", "CountrySubDivisionCode": "CA", "PostalCode": "94304", "Lat": "37.450412", "Long": "-122.170593"}, "ShipAddr": {"Id": "17", "Line1": "36 Willow Rd", "City": "Menlo Park", "CountrySubDivisionCode": "CA", "PostalCode": "94304", "Lat": "37.450412", "Long": "-122.170593"}, "Job": false, "BillWithParent": false, "Balance": 314.28, "BalanceWithJobs": 314.28, "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "PreferredDeliveryMethod": "Print", "domain": "QBO", "sparse": false, "Id": "17", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T17:12:16-08:00", "LastUpdatedTime": "2023-02-18T12:57:24-08:00"}, "GivenName": "Mark", "FamilyName": "Cho", "FullyQualifiedName": "Mark Cho", "DisplayName": "Mark Cho", "PrintOnCheckName": "Mark Cho", "Active": true, "PrimaryPhone": {"FreeFormNumber": "(650) 554-1479"}, "PrimaryEmailAddr": {"Address": "Mark@Cho.com"}, "airbyte_cursor": "2023-02-18T12:57:24-08:00"}, "emitted_at": 1679578485796}
|
||||
{"stream": "customers", "data": {"Taxable": false, "BillAddr": {"Id": "4", "Line1": "65 Ocean Dr.", "City": "Half Moon Bay", "CountrySubDivisionCode": "CA", "PostalCode": "94213", "Lat": "37.4300318", "Long": "-122.4336537"}, "Job": false, "BillWithParent": false, "Balance": 0, "BalanceWithJobs": 0, "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "PreferredDeliveryMethod": "Print", "domain": "QBO", "sparse": false, "Id": "3", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T16:51:22-08:00", "LastUpdatedTime": "2023-02-18T12:59:21-08:00"}, "GivenName": "Grace", "FamilyName": "Pariente", "FullyQualifiedName": "Cool Cars", "CompanyName": "Cool Cars", "DisplayName": "Cool Cars", "PrintOnCheckName": "Cool Cars", "Active": true, "PrimaryPhone": {"FreeFormNumber": "(415) 555-9933"}, "PrimaryEmailAddr": {"Address": "Cool_Cars@intuit.com"}, "airbyte_cursor": "2023-02-18T12:59:21-08:00"}, "emitted_at": 1679578485802}
|
||||
{"stream": "customers", "data": {"Taxable": false, "BillAddr": {"Id": "8", "Line1": "370 Easy St.", "City": "Middlefield", "CountrySubDivisionCode": "CA", "PostalCode": "94482", "Lat": "37.4031672", "Long": "-122.0642815"}, "ShipAddr": {"Id": "8", "Line1": "370 Easy St.", "City": "Middlefield", "CountrySubDivisionCode": "CA", "PostalCode": "94482", "Lat": "37.4031672", "Long": "-122.0642815"}, "Job": true, "BillWithParent": false, "ParentRef": {"value": "7"}, "Level": 1, "Balance": 477.5, "BalanceWithJobs": 477.5, "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "PreferredDeliveryMethod": "Print", "domain": "QBO", "sparse": false, "Id": "8", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T17:00:01-08:00", "LastUpdatedTime": "2023-02-18T13:15:36-08:00"}, "GivenName": "Sasha", "FamilyName": "Tillou", "FullyQualifiedName": "Freeman Sporting Goods:0969 Ocean View Road", "CompanyName": "Freeman Sporting Goods", "DisplayName": "0969 Ocean View Road", "PrintOnCheckName": "Freeman Sporting Goods", "Active": true, "PrimaryPhone": {"FreeFormNumber": "(415) 555-9933"}, "Mobile": {"FreeFormNumber": "(973) 555-8849"}, "Fax": {"FreeFormNumber": "(520) 555-7894"}, "PrimaryEmailAddr": {"Address": "Sporting_goods@intuit.com"}, "WebAddr": {"URI": "http://sportinggoods.intuit.com"}, "airbyte_cursor": "2023-02-18T13:15:36-08:00"}, "emitted_at": 1679578485808}
|
||||
{"stream": "customers", "data": {"Taxable": false, "BillAddr": {"Id": "7", "Line1": "370 Easy St.", "City": "Middlefield", "CountrySubDivisionCode": "CA", "PostalCode": "94482", "Lat": "37.4031672", "Long": "-122.0642815"}, "ShipAddr": {"Id": "7", "Line1": "370 Easy St.", "City": "Middlefield", "CountrySubDivisionCode": "CA", "PostalCode": "94482", "Lat": "37.4031672", "Long": "-122.0642815"}, "Job": false, "BillWithParent": false, "Balance": 0, "BalanceWithJobs": 562.5, "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "PreferredDeliveryMethod": "Print", "domain": "QBO", "sparse": false, "Id": "7", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T16:57:10-08:00", "LastUpdatedTime": "2023-02-18T13:15:36-08:00"}, "GivenName": "Kirby", "FamilyName": "Freeman", "FullyQualifiedName": "Freeman Sporting Goods", "CompanyName": "Freeman Sporting Goods", "DisplayName": "Freeman Sporting Goods", "PrintOnCheckName": "Freeman Sporting Goods", "Active": true, "PrimaryPhone": {"FreeFormNumber": "(650) 555-0987"}, "Mobile": {"FreeFormNumber": "(973) 555-8849"}, "Fax": {"FreeFormNumber": "(520) 555-7894"}, "PrimaryEmailAddr": {"Address": "Sporting_goods@intuit.com"}, "WebAddr": {"URI": "http://sportinggoods.intuit.com"}, "airbyte_cursor": "2023-02-18T13:15:36-08:00"}, "emitted_at": 1679578485813}
|
||||
{"stream": "customers", "data": {"Taxable": false, "BillAddr": {"Id": "25", "Line1": "5647 Cypress Hill Ave.", "City": "Middlefield", "CountrySubDivisionCode": "CA", "PostalCode": "94303", "Lat": "37.4238562", "Long": "-122.1141681"}, "ShipAddr": {"Id": "25", "Line1": "5647 Cypress Hill Ave.", "City": "Middlefield", "CountrySubDivisionCode": "CA", "PostalCode": "94303", "Lat": "37.4238562", "Long": "-122.1141681"}, "Job": false, "BillWithParent": false, "Balance": 362.07, "BalanceWithJobs": 362.07, "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "PreferredDeliveryMethod": "Print", "domain": "QBO", "sparse": false, "Id": "24", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T17:23:24-08:00", "LastUpdatedTime": "2023-02-18T13:16:17-08:00"}, "GivenName": "Russ", "FamilyName": "Sonnenschein", "FullyQualifiedName": "Sonnenschein Family Store", "CompanyName": "Sonnenschein Family Store", "DisplayName": "Sonnenschein Family Store", "PrintOnCheckName": "Sonnenschein Family Store", "Active": true, "PrimaryPhone": {"FreeFormNumber": "(650) 557-8463"}, "PrimaryEmailAddr": {"Address": "Familiystore@intuit.com"}, "airbyte_cursor": "2023-02-18T13:16:17-08:00"}, "emitted_at": 1679578485819}
|
||||
{"stream": "refund_receipts", "data": {"domain": "QBO", "sparse": false, "Id": "66", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-16T15:35:07-08:00", "LastUpdatedTime": "2023-02-16T15:35:07-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType"}], "DocNumber": "1020", "TxnDate": "2023-02-16", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Id": "1", "LineNum": 1, "Description": "Refund - Pest control was ineffective", "Amount": 87.5, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "10", "name": "Pest Control"}, "UnitPrice": 35, "Qty": 2.5, "TaxCodeRef": {"value": "NON"}}}, {"Amount": 87.5, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}], "TxnTaxDetail": {"TotalTax": 0}, "CustomerRef": {"value": "15", "name": "Pye's Cakes"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "73", "Line1": "Karen Pye", "Line2": "Pye's Cakes", "Line3": "350 Mountain View Dr.", "Line4": "South Orange, NJ 07079", "Lat": "40.7489277", "Long": "-74.2609903"}, "TotalAmt": 87.5, "ApplyTaxAfterDiscount": false, "PrintStatus": "NotSet", "BillEmail": {"Address": "pyescakes@intuit.com"}, "Balance": 0, "PaymentMethodRef": {"value": "2", "name": "Check"}, "DepositToAccountRef": {"value": "35", "name": "Checking"}, "airbyte_cursor": "2023-02-16T15:35:07-08:00"}, "emitted_at": 1679578488891}
|
||||
{"stream": "deposits", "data": {"DepositToAccountRef": {"value": "36", "name": "Savings"}, "TotalAmt": 600.0, "domain": "QBO", "sparse": false, "Id": "5", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-14T12:09:00-08:00", "LastUpdatedTime": "2023-02-14T12:09:00-08:00"}, "TxnDate": "2023-02-14", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "PrivateNote": "Opening Balance", "Line": [{"Id": "1", "LineNum": 1, "Amount": 600.0, "DetailType": "DepositLineDetail", "DepositLineDetail": {"AccountRef": {"value": "34", "name": "Opening Balance Equity"}}}], "airbyte_cursor": "2023-02-14T12:09:00-08:00"}, "emitted_at": 1679578491883}
|
||||
{"stream": "deposits", "data": {"DepositToAccountRef": {"value": "35", "name": "Checking"}, "TotalAmt": 218.75, "domain": "QBO", "sparse": false, "Id": "62", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-16T15:22:31-08:00", "LastUpdatedTime": "2023-02-16T15:22:31-08:00"}, "TxnDate": "2023-02-16", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Amount": 140.0, "LinkedTxn": [{"TxnId": "47", "TxnType": "SalesReceipt", "TxnLineId": "0"}]}, {"Amount": 78.75, "LinkedTxn": [{"TxnId": "38", "TxnType": "SalesReceipt", "TxnLineId": "0"}], "DepositLineDetail": {"PaymentMethodRef": {"value": "1"}}}], "airbyte_cursor": "2023-02-16T15:22:31-08:00"}, "emitted_at": 1679578491890}
|
||||
{"stream": "deposits", "data": {"DepositToAccountRef": {"value": "35", "name": "Checking"}, "TotalAmt": 5000.0, "domain": "QBO", "sparse": false, "Id": "4", "SyncToken": "1", "MetaData": {"CreateTime": "2023-02-14T12:08:20-08:00", "LastUpdatedTime": "2023-02-17T13:33:24-08:00"}, "TxnDate": "2022-10-05", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "PrivateNote": "Opening Balance", "Line": [{"Id": "1", "LineNum": 1, "Amount": 5000.0, "DetailType": "DepositLineDetail", "DepositLineDetail": {"AccountRef": {"value": "34", "name": "Opening Balance Equity"}}}], "airbyte_cursor": "2023-02-17T13:33:24-08:00"}, "emitted_at": 1679578491897}
|
||||
{"stream": "deposits", "data": {"DepositToAccountRef": {"value": "35", "name": "Checking"}, "TotalAmt": 408.0, "domain": "QBO", "sparse": false, "Id": "102", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T13:40:31-08:00", "LastUpdatedTime": "2023-02-17T13:40:31-08:00"}, "TxnDate": "2023-02-17", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Amount": 108.0, "LinkedTxn": [{"TxnId": "31", "TxnType": "Payment", "TxnLineId": "0"}], "DepositLineDetail": {"PaymentMethodRef": {"value": "2"}, "CheckNum": "6552"}}, {"Amount": 300.0, "LinkedTxn": [{"TxnId": "32", "TxnType": "Payment", "TxnLineId": "0"}], "DepositLineDetail": {"PaymentMethodRef": {"value": "2"}, "CheckNum": "5421"}}], "airbyte_cursor": "2023-02-17T13:40:31-08:00"}, "emitted_at": 1679578491903}
|
||||
{"stream": "deposits", "data": {"DepositToAccountRef": {"value": "35", "name": "Checking"}, "CashBack": {"AccountRef": {"value": "36", "name": "Savings"}, "Amount": 200.0, "Memo": "Money to savings"}, "TotalAmt": 868.15, "domain": "QBO", "sparse": false, "Id": "121", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-18T13:00:56-08:00", "LastUpdatedTime": "2023-02-18T13:00:56-08:00"}, "TxnDate": "2023-02-18", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "Line": [{"Amount": 226.75, "LinkedTxn": [{"TxnId": "97", "TxnType": "Payment", "TxnLineId": "0"}]}, {"Amount": 460.4, "LinkedTxn": [{"TxnId": "94", "TxnType": "Payment", "TxnLineId": "0"}]}, {"Amount": 80.0, "LinkedTxn": [{"TxnId": "116", "TxnType": "Payment", "TxnLineId": "0"}]}, {"Amount": 81.0, "LinkedTxn": [{"TxnId": "98", "TxnType": "Payment", "TxnLineId": "0"}]}, {"Amount": 220.0, "LinkedTxn": [{"TxnId": "101", "TxnType": "Payment", "TxnLineId": "0"}], "DepositLineDetail": {"PaymentMethodRef": {"value": "2"}}}], "airbyte_cursor": "2023-02-18T13:00:56-08:00"}, "emitted_at": 1679578491908}
|
||||
{"stream": "employees", "data": {"BillableTime": false, "domain": "QBO", "sparse": false, "Id": "55", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-16T11:21:48-08:00", "LastUpdatedTime": "2023-02-16T11:21:48-08:00"}, "GivenName": "Emily", "FamilyName": "Platt", "DisplayName": "Emily Platt", "PrintOnCheckName": "Emily Platt", "Active": true, "airbyte_cursor": "2023-02-16T11:21:48-08:00"}, "emitted_at": 1679578497667}
|
||||
{"stream": "employees", "data": {"BillableTime": false, "HiredDate": "2023-01-18", "domain": "QBO", "sparse": false, "Id": "54", "SyncToken": "1", "MetaData": {"CreateTime": "2023-02-16T11:21:28-08:00", "LastUpdatedTime": "2023-02-16T11:46:26-08:00"}, "GivenName": "John", "FamilyName": "Johnson", "DisplayName": "John Johnson", "PrintOnCheckName": "John Johnson", "Active": true, "PrimaryPhone": {"FreeFormNumber": "(540) 555-9645"}, "airbyte_cursor": "2023-02-16T11:46:26-08:00"}, "emitted_at": 1679578497675}
|
||||
{"stream": "estimates", "data": {"domain": "QBO", "sparse": false, "Id": "48", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-16T11:42:38-08:00", "LastUpdatedTime": "2023-02-16T11:43:20-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType"}], "DocNumber": "1001", "TxnDate": "2023-02-14", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "TxnStatus": "Closed", "LinkedTxn": [{"TxnId": "49", "TxnType": "Invoice"}], "Line": [{"Id": "1", "LineNum": 1, "Description": "Custom Design", "Amount": 300.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "4", "name": "Design"}, "UnitPrice": 75, "Qty": 4, "TaxCodeRef": {"value": "NON"}}}, {"Id": "2", "LineNum": 2, "Description": "Installation of landscape design", "Amount": 250.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "7", "name": "Installation"}, "UnitPrice": 50, "Qty": 5, "TaxCodeRef": {"value": "NON"}}}, {"Id": "3", "LineNum": 3, "Description": "Rock Fountain", "Amount": 275.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "5", "name": "Rock Fountain"}, "UnitPrice": 275, "Qty": 1, "TaxCodeRef": {"value": "NON"}}}, {"Id": "4", "LineNum": 4, "Description": "Garden Rocks", "Amount": 180.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "13", "name": "Rocks"}, "UnitPrice": 22.5, "Qty": 8, "TaxCodeRef": {"value": "NON"}}}, {"Amount": 1005.0, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}], "TxnTaxDetail": {"TotalTax": 0}, "CustomerRef": {"value": "18", "name": "Paulsen Medical Supplies"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "67", "Line1": "Kathy Paulsen", "Line2": "Paulsen Medical Supplies", "Line3": "900 Main St.", "Line4": "Middlefield, CA 94303", "Lat": "37.4530553", "Long": "-122.1178261"}, "ShipAddr": {"Id": "19", "Line1": "38921 S. Boise Ave", "City": "Middlefield", "CountrySubDivisionCode": "CA", "PostalCode": "94304", "Lat": "37.3989376", "Long": "-122.1443935"}, "TotalAmt": 1005.0, "ApplyTaxAfterDiscount": false, "PrintStatus": "NeedToPrint", "EmailStatus": "NeedToSend", "BillEmail": {"Address": "Medical@intuit.com"}, "DeliveryInfo": {"DeliveryType": "Email"}, "airbyte_cursor": "2023-02-16T11:43:20-08:00"}, "emitted_at": 1679578500398}
|
||||
{"stream": "estimates", "data": {"domain": "QBO", "sparse": false, "Id": "46", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-16T11:36:01-08:00", "LastUpdatedTime": "2023-02-17T12:42:59-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType"}], "DocNumber": "1001", "TxnDate": "2023-02-14", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "TxnStatus": "Closed", "LinkedTxn": [{"TxnId": "69", "TxnType": "Invoice"}], "Line": [{"Id": "1", "LineNum": 1, "Description": "Pest Control Services", "Amount": 70.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "10", "name": "Pest Control"}, "UnitPrice": 35, "Qty": 2, "TaxCodeRef": {"value": "NON"}}}, {"Amount": 70.0, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}], "TxnTaxDetail": {"TotalTax": 0}, "CustomerRef": {"value": "20", "name": "Red Rock Diner"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "65", "Line1": "Stephanie Martini", "Line2": "Red Rock Diner", "Line3": "500 Red Rock Rd.", "Line4": "Bayshore, CA 94326", "Lat": "INVALID", "Long": "INVALID"}, "ShipAddr": {"Id": "21", "Line1": "500 Red Rock Rd.", "City": "Bayshore", "CountrySubDivisionCode": "CA", "PostalCode": "94326", "Lat": "INVALID", "Long": "INVALID"}, "TotalAmt": 70.0, "ApplyTaxAfterDiscount": false, "PrintStatus": "NeedToPrint", "EmailStatus": "NotSet", "BillEmail": {"Address": "qbwebsamplecompany@yahoo.com"}, "airbyte_cursor": "2023-02-17T12:42:59-08:00"}, "emitted_at": 1679578500408}
|
||||
{"stream": "estimates", "data": {"domain": "QBO", "sparse": false, "Id": "41", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-16T11:20:06-08:00", "LastUpdatedTime": "2023-02-17T13:41:59-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType"}], "DocNumber": "1001", "TxnDate": "2023-02-06", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "TxnStatus": "Closed", "LinkedTxn": [{"TxnId": "103", "TxnType": "Invoice"}], "Line": [{"Id": "1", "LineNum": 1, "Description": "Rock Fountain", "Amount": 275.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "5", "name": "Rock Fountain"}, "UnitPrice": 275, "Qty": 1, "TaxCodeRef": {"value": "NON"}}}, {"Id": "2", "LineNum": 2, "Description": "Custom Design", "Amount": 262.5, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "4", "name": "Design"}, "UnitPrice": 75, "Qty": 3.5, "TaxCodeRef": {"value": "NON"}}}, {"Id": "3", "LineNum": 3, "Description": "Fountain Pump", "Amount": 45.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "11", "name": "Pump"}, "UnitPrice": 22.5, "Qty": 2, "TaxCodeRef": {"value": "NON"}}}, {"Amount": 582.5, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}], "TxnTaxDetail": {"TotalTax": 0}, "CustomerRef": {"value": "10", "name": "Geeta Kalapatapu"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "59", "Line1": "Geeta Kalapatapu", "Line2": "1987 Main St.", "Line3": "Middlefield, CA 94303", "Lat": "37.4530553", "Long": "-122.1178261"}, "ShipAddr": {"Id": "10", "Line1": "1987 Main St.", "City": "Middlefield", "CountrySubDivisionCode": "CA", "PostalCode": "94303", "Lat": "37.445013", "Long": "-122.1391443"}, "TotalAmt": 582.5, "ApplyTaxAfterDiscount": false, "PrintStatus": "NeedToPrint", "EmailStatus": "NotSet", "BillEmail": {"Address": "Geeta@Kalapatapu.com"}, "airbyte_cursor": "2023-02-17T13:41:59-08:00"}, "emitted_at": 1679578500414}
|
||||
{"stream": "estimates", "data": {"domain": "QBO", "sparse": false, "Id": "100", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T13:37:55-08:00", "LastUpdatedTime": "2023-02-18T13:16:17-08:00"}, "CustomField": [{"DefinitionId": "1", "Name": "Crew #", "Type": "StringType"}], "DocNumber": "1001", "TxnDate": "2023-02-15", "CurrencyRef": {"value": "USD", "name": "United States Dollar"}, "TxnStatus": "Closed", "LinkedTxn": [{"TxnId": "130", "TxnType": "Invoice"}], "Line": [{"Id": "1", "LineNum": 1, "Description": "Rock Fountain", "Amount": 275.0, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "5", "name": "Rock Fountain"}, "UnitPrice": 275, "Qty": 1, "TaxCodeRef": {"value": "TAX"}}}, {"Id": "2", "LineNum": 2, "Description": "Fountain Pump", "Amount": 12.75, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "11", "name": "Pump"}, "UnitPrice": 12.75, "Qty": 1, "TaxCodeRef": {"value": "TAX"}}}, {"Id": "3", "LineNum": 3, "Description": "Concrete for fountain installation", "Amount": 47.5, "DetailType": "SalesItemLineDetail", "SalesItemLineDetail": {"ItemRef": {"value": "3", "name": "Concrete"}, "UnitPrice": 9.5, "Qty": 5, "TaxCodeRef": {"value": "TAX"}}}, {"Amount": 335.25, "DetailType": "SubTotalLineDetail", "SubTotalLineDetail": {}}], "TxnTaxDetail": {"TxnTaxCodeRef": {"value": "2"}, "TotalTax": 26.82, "TaxLine": [{"Amount": 26.82, "DetailType": "TaxLineDetail", "TaxLineDetail": {"TaxRateRef": {"value": "3"}, "PercentBased": true, "TaxPercent": 8, "NetAmountTaxable": 335.25}}]}, "CustomerRef": {"value": "24", "name": "Sonnenschein Family Store"}, "CustomerMemo": {"value": "Thank you for your business and have a great day!"}, "BillAddr": {"Id": "86", "Line1": "Russ Sonnenschein", "Line2": "Sonnenschein Family Store", "Line3": "5647 Cypress Hill Ave.", "Line4": "Middlefield, CA 94303", "Lat": "37.4238562", "Long": "-122.1141681"}, "ShipAddr": {"Id": "25", "Line1": "5647 Cypress Hill Ave.", "City": "Middlefield", "CountrySubDivisionCode": "CA", "PostalCode": "94303", "Lat": "37.4238562", "Long": "-122.1141681"}, "TotalAmt": 362.07, "ApplyTaxAfterDiscount": false, "PrintStatus": "NeedToPrint", "EmailStatus": "NotSet", "BillEmail": {"Address": "Familiystore@intuit.com"}, "airbyte_cursor": "2023-02-18T13:16:17-08:00"}, "emitted_at": 1679578500424}
|
||||
{"stream": "tax_agencies", "data": {"TaxTrackedOnPurchases": false, "TaxTrackedOnSales": true, "domain": "QBO", "sparse": false, "Id": "2", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T12:17:04-08:00", "LastUpdatedTime": "2023-02-17T12:17:04-08:00"}, "DisplayName": "Board of Equalization", "airbyte_cursor": "2023-02-17T12:17:04-08:00"}, "emitted_at": 1679578503395}
|
||||
{"stream": "tax_agencies", "data": {"TaxTrackedOnPurchases": false, "TaxTrackedOnSales": true, "domain": "QBO", "sparse": false, "Id": "1", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T12:17:04-08:00", "LastUpdatedTime": "2023-02-17T12:17:04-08:00"}, "DisplayName": "Arizona Dept. of Revenue", "airbyte_cursor": "2023-02-17T12:17:04-08:00"}, "emitted_at": 1679578503402}
|
||||
{"stream": "tax_codes", "data": {"Name": "Tucson", "Description": "Tucson", "Active": true, "Taxable": true, "TaxGroup": true, "SalesTaxRateList": {"TaxRateDetail": [{"TaxRateRef": {"value": "1", "name": "AZ State tax"}, "TaxTypeApplicable": "TaxOnAmount", "TaxOrder": 0}, {"TaxRateRef": {"value": "2", "name": "Tucson City"}, "TaxTypeApplicable": "TaxOnAmount", "TaxOrder": 0}]}, "PurchaseTaxRateList": {"TaxRateDetail": []}, "domain": "QBO", "sparse": false, "Id": "3", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T12:17:04-08:00", "LastUpdatedTime": "2023-02-17T12:17:04-08:00"}, "airbyte_cursor": "2023-02-17T12:17:04-08:00"}, "emitted_at": 1679578506063}
|
||||
{"stream": "tax_codes", "data": {"Name": "California", "Description": "California", "Active": true, "Taxable": true, "TaxGroup": true, "SalesTaxRateList": {"TaxRateDetail": [{"TaxRateRef": {"value": "3", "name": "California"}, "TaxTypeApplicable": "TaxOnAmount", "TaxOrder": 0}]}, "PurchaseTaxRateList": {"TaxRateDetail": []}, "domain": "QBO", "sparse": false, "Id": "2", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T12:17:04-08:00", "LastUpdatedTime": "2023-02-17T12:17:04-08:00"}, "airbyte_cursor": "2023-02-17T12:17:04-08:00"}, "emitted_at": 1679578506073}
|
||||
{"stream": "tax_rates", "data": {"Name": "California", "Description": "Sales Tax", "Active": true, "RateValue": 8, "AgencyRef": {"value": "2"}, "SpecialTaxType": "NONE", "DisplayType": "ReadOnly", "domain": "QBO", "sparse": false, "Id": "3", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T12:17:04-08:00", "LastUpdatedTime": "2023-02-17T12:17:04-08:00"}, "airbyte_cursor": "2023-02-17T12:17:04-08:00"}, "emitted_at": 1679578508863}
|
||||
{"stream": "tax_rates", "data": {"Name": "Tucson City", "Description": "Sales Tax", "Active": true, "RateValue": 2, "AgencyRef": {"value": "1"}, "SpecialTaxType": "NONE", "DisplayType": "ReadOnly", "domain": "QBO", "sparse": false, "Id": "2", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T12:17:04-08:00", "LastUpdatedTime": "2023-02-17T12:17:04-08:00"}, "airbyte_cursor": "2023-02-17T12:17:04-08:00"}, "emitted_at": 1679578508872}
|
||||
{"stream": "tax_rates", "data": {"Name": "AZ State tax", "Description": "Sales Tax", "Active": true, "RateValue": 7.1, "AgencyRef": {"value": "1"}, "SpecialTaxType": "NONE", "DisplayType": "ReadOnly", "domain": "QBO", "sparse": false, "Id": "1", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-17T12:17:04-08:00", "LastUpdatedTime": "2023-02-17T12:17:04-08:00"}, "airbyte_cursor": "2023-02-17T12:17:04-08:00"}, "emitted_at": 1679578508878}
|
||||
{"stream": "terms", "data": {"Name": "Net 60", "Active": true, "Type": "STANDARD", "DueDays": 60, "DiscountDays": 0, "domain": "QBO", "sparse": false, "Id": "4", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T14:41:49-08:00", "LastUpdatedTime": "2023-02-10T14:41:49-08:00"}, "airbyte_cursor": "2023-02-10T14:41:49-08:00"}, "emitted_at": 1679578511472}
|
||||
{"stream": "terms", "data": {"Name": "Net 30", "Active": true, "Type": "STANDARD", "DueDays": 30, "DiscountDays": 0, "domain": "QBO", "sparse": false, "Id": "3", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T14:41:49-08:00", "LastUpdatedTime": "2023-02-10T14:41:49-08:00"}, "airbyte_cursor": "2023-02-10T14:41:49-08:00"}, "emitted_at": 1679578511476}
|
||||
{"stream": "terms", "data": {"Name": "Net 15", "Active": true, "Type": "STANDARD", "DueDays": 15, "DiscountDays": 0, "domain": "QBO", "sparse": false, "Id": "2", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T14:41:49-08:00", "LastUpdatedTime": "2023-02-10T14:41:49-08:00"}, "airbyte_cursor": "2023-02-10T14:41:49-08:00"}, "emitted_at": 1679578511479}
|
||||
{"stream": "terms", "data": {"Name": "Due on receipt", "Active": true, "Type": "STANDARD", "DueDays": 0, "DiscountDays": 0, "domain": "QBO", "sparse": false, "Id": "1", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-10T14:41:49-08:00", "LastUpdatedTime": "2023-02-10T14:41:49-08:00"}, "airbyte_cursor": "2023-02-10T14:41:49-08:00"}, "emitted_at": 1679578511483}
|
||||
{"stream": "terms", "data": {"Name": "Net 10", "Active": true, "Type": "STANDARD", "DueDays": 10, "domain": "QBO", "sparse": false, "Id": "5", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-15T15:24:26-08:00", "LastUpdatedTime": "2023-02-15T15:24:26-08:00"}, "airbyte_cursor": "2023-02-15T15:24:26-08:00"}, "emitted_at": 1679578511487}
|
||||
{"stream": "time_activities", "data": {"TxnDate": "2023-02-11", "NameOf": "Employee", "EmployeeRef": {"value": "55", "name": "Emily Platt"}, "CustomerRef": {"value": "17", "name": "Mark Cho"}, "ItemRef": {"value": "2", "name": "Hours"}, "BillableStatus": "NotBillable", "Taxable": false, "HourlyRate": 0, "Hours": 4, "Minutes": 45, "Description": "Designed Garden. Poured Concrete Foundation", "domain": "QBO", "sparse": false, "Id": "1", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-16T11:23:26-08:00", "LastUpdatedTime": "2023-02-16T11:23:26-08:00"}, "airbyte_cursor": "2023-02-16T11:23:26-08:00"}, "emitted_at": 1679578514810}
|
||||
{"stream": "time_activities", "data": {"TxnDate": "2023-02-16", "NameOf": "Employee", "EmployeeRef": {"value": "54", "name": "John Johnson"}, "CustomerRef": {"value": "1", "name": "Amy's Bird Sanctuary"}, "ItemRef": {"value": "2", "name": "Hours"}, "BillableStatus": "NotBillable", "Taxable": false, "HourlyRate": 0, "Hours": 4, "Minutes": 0, "Description": "Gardening", "domain": "QBO", "sparse": false, "Id": "2", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-16T11:47:12-08:00", "LastUpdatedTime": "2023-02-16T11:47:12-08:00"}, "airbyte_cursor": "2023-02-16T11:47:12-08:00"}, "emitted_at": 1679578514820}
|
||||
{"stream": "time_activities", "data": {"TxnDate": "2023-02-15", "NameOf": "Employee", "EmployeeRef": {"value": "54", "name": "John Johnson"}, "CustomerRef": {"value": "1", "name": "Amy's Bird Sanctuary"}, "ItemRef": {"value": "4", "name": "Design"}, "BillableStatus": "Billable", "Taxable": false, "HourlyRate": 75, "Hours": 5, "Minutes": 0, "Description": "Custom Design", "domain": "QBO", "sparse": false, "Id": "3", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-16T11:53:15-08:00", "LastUpdatedTime": "2023-02-16T11:53:15-08:00"}, "airbyte_cursor": "2023-02-16T11:53:15-08:00"}, "emitted_at": 1679578514827}
|
||||
{"stream": "time_activities", "data": {"TxnDate": "2023-02-16", "NameOf": "Employee", "EmployeeRef": {"value": "55", "name": "Emily Platt"}, "CustomerRef": {"value": "21", "name": "Rondonuwu Fruit and Vegi"}, "ItemRef": {"value": "18", "name": "Trimming"}, "BillableStatus": "HasBeenBilled", "Taxable": false, "HourlyRate": 15, "Hours": 2, "Minutes": 0, "Description": "Tree and Shrub Trimming", "domain": "QBO", "sparse": false, "Id": "4", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-16T11:54:02-08:00", "LastUpdatedTime": "2023-02-16T11:54:02-08:00"}, "airbyte_cursor": "2023-02-16T11:54:02-08:00"}, "emitted_at": 1679578514832}
|
||||
{"stream": "time_activities", "data": {"TxnDate": "2023-02-16", "NameOf": "Employee", "EmployeeRef": {"value": "55", "name": "Emily Platt"}, "CustomerRef": {"value": "21", "name": "Rondonuwu Fruit and Vegi"}, "ItemRef": {"value": "8", "name": "Lighting"}, "BillableStatus": "HasBeenBilled", "Taxable": false, "HourlyRate": 15, "Hours": 3, "Minutes": 0, "Description": "Garden Lighting", "domain": "QBO", "sparse": false, "Id": "5", "SyncToken": "0", "MetaData": {"CreateTime": "2023-02-16T11:55:25-08:00", "LastUpdatedTime": "2023-02-16T11:55:25-08:00"}, "airbyte_cursor": "2023-02-16T11:55:25-08:00"}, "emitted_at": 1679578514836}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"todo-wrong-field": "this should be an incomplete config file, used in standard tests"
|
||||
}
|
||||
@@ -6,8 +6,8 @@
|
||||
import sys
|
||||
|
||||
from airbyte_cdk.entrypoint import launch
|
||||
from source_quickbooks_singer import SourceQuickbooksSinger
|
||||
from source_quickbooks import SourceQuickbooks
|
||||
|
||||
if __name__ == "__main__":
|
||||
source = SourceQuickbooksSinger()
|
||||
source = SourceQuickbooks()
|
||||
launch(source, sys.argv[1:])
|
||||
@@ -0,0 +1,2 @@
|
||||
-e ../../bases/connector-acceptance-test
|
||||
-e .
|
||||
@@ -7,21 +7,22 @@ from setuptools import find_packages, setup
|
||||
|
||||
MAIN_REQUIREMENTS = [
|
||||
"airbyte-cdk",
|
||||
"tap-quickbooks @ https://github.com/airbytehq//tap-quickbooks/tarball/v1.0.5-airbyte",
|
||||
]
|
||||
|
||||
TEST_REQUIREMENTS = [
|
||||
"pytest~=6.1",
|
||||
"pytest~=6.2",
|
||||
"pytest-mock~=3.6.1",
|
||||
"connector-acceptance-test",
|
||||
]
|
||||
|
||||
setup(
|
||||
name="source_quickbooks_singer",
|
||||
description="Source implementation for QuickBooks, built on the Singer tap implementation.",
|
||||
name="source_quickbooks",
|
||||
description="Source implementation for Quickbooks.",
|
||||
author="Airbyte",
|
||||
author_email="contact@airbyte.io",
|
||||
packages=find_packages(),
|
||||
install_requires=MAIN_REQUIREMENTS,
|
||||
package_data={"": ["*.json"]},
|
||||
package_data={"": ["*.json", "*.yaml", "schemas/*.json", "schemas/shared/*.json"]},
|
||||
extras_require={
|
||||
"tests": TEST_REQUIREMENTS,
|
||||
},
|
||||
@@ -0,0 +1,9 @@
|
||||
#
|
||||
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
|
||||
#
|
||||
|
||||
|
||||
from .source import SourceQuickbooks
|
||||
from .components import CustomDatetimeBasedCursor
|
||||
|
||||
__all__ = ["SourceQuickbooks", "CustomDatetimeBasedCursor"]
|
||||
@@ -0,0 +1,74 @@
|
||||
import datetime
|
||||
import typing
|
||||
from collections import abc
|
||||
from dataclasses import dataclass
|
||||
|
||||
import dpath.util
|
||||
from airbyte_cdk.sources.declarative.incremental import DatetimeBasedCursor
|
||||
from airbyte_cdk.sources.declarative.types import StreamSlice, Record
|
||||
|
||||
|
||||
class LastRecordDictProxy(abc.MutableMapping):
|
||||
"""
|
||||
Patch a dict object to be able to get/set/delete/etc... values by path.
|
||||
Example:
|
||||
>>> record = LastRecordDictProxy({"root": {"nested": "value"}})
|
||||
>>> record["root/nested"]
|
||||
<<< "value"
|
||||
>>> record.get("root/nested")
|
||||
<<< "value"
|
||||
"""
|
||||
|
||||
def __init__(self, record: Record, field_mapping: typing.Mapping = None):
|
||||
self._record: Record = record
|
||||
self._field_mapping = field_mapping if field_mapping is not None else {}
|
||||
|
||||
def __setitem__(self, k: str, v: typing.Any) -> None:
|
||||
dpath.util.set(self._record, k, v)
|
||||
|
||||
def __delitem__(self, v: str) -> None:
|
||||
dpath.util.delete(self._record, v)
|
||||
|
||||
def __getitem__(self, k: str) -> typing.Any:
|
||||
try:
|
||||
return dpath.util.get(self._record, k)
|
||||
except KeyError as e:
|
||||
if k in self._field_mapping:
|
||||
return dpath.util.get(self._record, self._field_mapping[k])
|
||||
raise e
|
||||
|
||||
def __len__(self) -> int:
|
||||
return len(self._record)
|
||||
|
||||
def __iter__(self) -> typing.Iterator:
|
||||
return self._record
|
||||
|
||||
def __bool__(self):
|
||||
return bool(self._record)
|
||||
|
||||
|
||||
@dataclass
|
||||
class CustomDatetimeBasedCursor(DatetimeBasedCursor):
|
||||
"""
|
||||
This class is used to override the default DatetimeBasedCursor behavior in the way the cursor values from the `last_record` are
|
||||
retrieved, specifically the nested values. In case the last_record looks like follows, there is no way we can get the nested cursor
|
||||
value for now by means of the base class.
|
||||
{
|
||||
"id": "id",
|
||||
"Metadata": {
|
||||
"LastUpdatedTime": "<DateTime>"
|
||||
}
|
||||
}
|
||||
To adopt this change to the LowCode CDK, this issue was created - https://github.com/airbytehq/airbyte/issues/25008.
|
||||
"""
|
||||
def update_cursor(self, stream_slice: StreamSlice, last_record: typing.Optional[Record] = None):
|
||||
super(CustomDatetimeBasedCursor, self).update_cursor(
|
||||
stream_slice=stream_slice,
|
||||
last_record=LastRecordDictProxy(last_record, {self.cursor_field.eval(self.config): "MetaData/LastUpdatedTime"})
|
||||
)
|
||||
|
||||
def _format_datetime(self, dt: datetime.datetime):
|
||||
return dt.isoformat('T', 'seconds')
|
||||
|
||||
def parse_date(self, date: str) -> datetime.datetime:
|
||||
return datetime.datetime.strptime(date, self.datetime_format).astimezone(self._timezone)
|
||||
@@ -0,0 +1,300 @@
|
||||
version: "0.34.0"
|
||||
|
||||
definitions:
|
||||
schema_loader:
|
||||
type: JsonFileSchemaLoader
|
||||
file_path: "./source_quickbooks/schemas/{{ parameters.name }}.json"
|
||||
selector:
|
||||
type: RecordSelector
|
||||
extractor:
|
||||
type: DpathExtractor
|
||||
field_path:
|
||||
- "QueryResponse"
|
||||
- "{{ parameters.table_name }}"
|
||||
requester:
|
||||
type: HttpRequester
|
||||
url_base: "{{ 'https://sandbox-quickbooks.api.intuit.com' if config.sandbox else 'https://quickbooks.api.intuit.com' }}"
|
||||
http_method: "GET"
|
||||
request_parameters:
|
||||
query: "SELECT * FROM {{ parameters.table_name }} WHERE Metadata.LastUpdatedTime > '{{ stream_slice.start_time }}' AND Metadata.LastUpdatedTime <= '{{ stream_slice.end_time }}' {{ parameters.additional_where }} ORDER BY Metadata.LastUpdatedTime ASC STARTPOSITION {{ (next_page_token.next_page_token or 0) + 1 }} MAXRESULTS {{ (config.max_results or '200') | int }}"
|
||||
request_headers:
|
||||
"Accept": "application/json"
|
||||
"User-Agent": "airbyte-connector"
|
||||
authenticator:
|
||||
type: SingleUseRefreshTokenOAuthAuthenticator
|
||||
token_refresh_endpoint: "https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer"
|
||||
retriever:
|
||||
type: SimpleRetriever
|
||||
record_selector:
|
||||
$ref: "#/definitions/selector"
|
||||
paginator:
|
||||
type: DefaultPaginator
|
||||
pagination_strategy:
|
||||
type: OffsetIncrement
|
||||
page_size: "{{ (config.max_results or '5') | int }}"
|
||||
requester:
|
||||
$ref: "#/definitions/requester"
|
||||
base_stream:
|
||||
primary_key: "Id"
|
||||
retriever:
|
||||
$ref: "#/definitions/retriever"
|
||||
incremental_sync:
|
||||
type: CustomIncrementalSync
|
||||
class_name: "source_quickbooks.CustomDatetimeBasedCursor"
|
||||
cursor_field: "airbyte_cursor"
|
||||
start_datetime: "{{ config.start_date }}"
|
||||
end_datetime: "{{ now_utc().isoformat('T', 'seconds') }}"
|
||||
datetime_format: "%Y-%m-%dT%H:%M:%S%z"
|
||||
cursor_granularity: "PT0S"
|
||||
step: "P30D"
|
||||
transformations:
|
||||
- type: AddFields
|
||||
fields:
|
||||
- path: [ "airbyte_cursor" ]
|
||||
value: "{{ record.MetaData.LastUpdatedTime }}"
|
||||
$parameters:
|
||||
path: "/v3/company/{{ config.credentials.realm_id }}/query"
|
||||
table_name: "BillPayment"
|
||||
|
||||
accounts:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "accounts"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Account"
|
||||
additional_where: "AND Active IN (true, false)"
|
||||
|
||||
bill_payments:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "bill_payments"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "BillPayment"
|
||||
|
||||
bills:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "bills"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Bill"
|
||||
|
||||
budgets:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "budgets"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Budget"
|
||||
additional_where: "AND Active IN (true, false)"
|
||||
|
||||
classes:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "classes"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Class"
|
||||
additional_where: "AND Active IN (true, false)"
|
||||
|
||||
credit_memos:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "credit_memos"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "CreditMemo"
|
||||
|
||||
customers:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "customers"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Customer"
|
||||
additional_where: "AND Active IN (true, false)"
|
||||
|
||||
departments:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "departments"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Department"
|
||||
additional_where: "AND Active IN (true, false)"
|
||||
|
||||
deposits:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "deposits"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Deposit"
|
||||
|
||||
employees:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "employees"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Employee"
|
||||
additional_where: "AND Active IN (true, false)"
|
||||
|
||||
estimates:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "estimates"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Estimate"
|
||||
|
||||
invoices:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "invoices"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Invoice"
|
||||
|
||||
items:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "items"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Item"
|
||||
additional_where: "AND Active IN (true, false)"
|
||||
|
||||
journal_entries:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "journal_entries"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "JournalEntry"
|
||||
|
||||
payment_methods:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "payment_methods"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "PaymentMethod"
|
||||
additional_where: "AND Active IN (true, false)"
|
||||
|
||||
payments:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "payments"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Payment"
|
||||
|
||||
purchase_orders:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "purchase_orders"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "PurchaseOrder"
|
||||
|
||||
purchases:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "purchases"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Purchase"
|
||||
|
||||
refund_receipts:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "refund_receipts"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "RefundReceipt"
|
||||
|
||||
sales_receipts:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "sales_receipts"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "SalesReceipt"
|
||||
|
||||
tax_agencies:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "tax_agencies"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "TaxAgency"
|
||||
|
||||
tax_codes:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "tax_codes"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "TaxCode"
|
||||
additional_where: "AND Active IN (true, false)"
|
||||
|
||||
tax_rates:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "tax_rates"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "TaxRate"
|
||||
additional_where: "AND Active IN (true, false)"
|
||||
|
||||
terms:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "terms"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Term"
|
||||
additional_where: "AND Active IN (true, false)"
|
||||
|
||||
time_activities:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "time_activities"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "TimeActivity"
|
||||
|
||||
transfers:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "transfers"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Transfer"
|
||||
|
||||
vendor_credits:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "vendor_credits"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "VendorCredit"
|
||||
|
||||
vendors:
|
||||
$ref: "#/definitions/base_stream"
|
||||
name: "vendors"
|
||||
$parameters:
|
||||
$ref: "#/definitions/base_stream/$parameters"
|
||||
table_name: "Vendor"
|
||||
additional_where: "AND Active IN (true, false)"
|
||||
|
||||
streams:
|
||||
- "#/definitions/accounts"
|
||||
- "#/definitions/bill_payments"
|
||||
- "#/definitions/bills"
|
||||
- "#/definitions/budgets"
|
||||
- "#/definitions/classes"
|
||||
- "#/definitions/credit_memos"
|
||||
- "#/definitions/customers"
|
||||
- "#/definitions/departments"
|
||||
- "#/definitions/deposits"
|
||||
- "#/definitions/employees"
|
||||
- "#/definitions/estimates"
|
||||
- "#/definitions/invoices"
|
||||
- "#/definitions/items"
|
||||
- "#/definitions/journal_entries"
|
||||
- "#/definitions/payment_methods"
|
||||
- "#/definitions/payments"
|
||||
- "#/definitions/purchase_orders"
|
||||
- "#/definitions/purchases"
|
||||
- "#/definitions/refund_receipts"
|
||||
- "#/definitions/sales_receipts"
|
||||
- "#/definitions/tax_agencies"
|
||||
- "#/definitions/tax_codes"
|
||||
- "#/definitions/tax_rates"
|
||||
- "#/definitions/terms"
|
||||
- "#/definitions/time_activities"
|
||||
- "#/definitions/transfers"
|
||||
- "#/definitions/vendor_credits"
|
||||
- "#/definitions/vendors"
|
||||
|
||||
check:
|
||||
type: CheckStream
|
||||
stream_names:
|
||||
- "accounts"
|
||||
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"CurrentBalanceWithSubAccounts": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"AcctNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"AccountSubType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Classification": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"FullyQualifiedName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"AccountType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CurrentBalance": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"Active": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SubAccount": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"ParentRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,280 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"APAccountRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"DepartmentRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CheckPayment": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"BankAccountRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"PrintStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"TotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"PayType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnDate": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date"
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"LastUpdatedTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
},
|
||||
"CreateTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
}
|
||||
}
|
||||
},
|
||||
"VendorRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CreditCardPayment": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"CCAccountRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"LinkedTxn": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"TxnType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"DocNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ExchangeRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,403 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"SalesTermRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"DocNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Balance": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"APAccountRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"DueDate": {
|
||||
"format": "date",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"LinkedTxn": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"TxnId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"Line": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LineNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"DetailType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Description": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ItemBasedExpenseLineDetail": {
|
||||
"properties": {
|
||||
"ItemRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Qty": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"TaxCodeRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"BillableStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"UnitPrice": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"AccountBasedExpenseLineDetail": {
|
||||
"properties": {
|
||||
"BillableStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"AccountRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"TaxCodeRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CustomerRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnDate": {
|
||||
"format": "date",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"VendorRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"TotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"ExchangeRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"DepartmentRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"PrivateNote": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,200 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"BudgetEntryType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Active": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"EndDate": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"StartDate": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"BudgetType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"BudgetDetail": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"ClassRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"DepartmentRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CustomerRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"AccountRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"BudgetDate": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"ParentRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SubClass": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"Active": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"FullyQualifiedName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,474 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"ClassRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"BillEmail": {
|
||||
"properties": {
|
||||
"Address": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"EmailStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DocNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Balance": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"CustomerMemo": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"PrintStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"Description": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SalesItemLineDetail": {
|
||||
"properties": {
|
||||
"ItemRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"UnitPrice": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"TaxCodeRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Qty": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"LineNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"DetailType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"TotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"ApplyTaxAfterDiscount": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SalesTermRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"ShipAddr": {
|
||||
"properties": {
|
||||
"PostalCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CountrySubDivisionCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"City": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"TxnTaxDetail": {
|
||||
"properties": {
|
||||
"TotalTax": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"TxnDate": {
|
||||
"format": "date",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CustomField": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Type": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DefinitionId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"BillAddr": {
|
||||
"properties": {
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line3": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line2": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line4": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CustomerRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"RemainingCredit": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"ExchangeRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"HomeTotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,433 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"DefaultTaxCodeRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"SalesTermRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"PaymentMethodRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"ResaleNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"MiddleName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"BillAddr": {
|
||||
"properties": {
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CountrySubDivisionCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Country": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"City": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PostalCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"PrimaryEmailAddr": {
|
||||
"properties": {
|
||||
"Address": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Balance": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"CompanyName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"FamilyName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"FullyQualifiedName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PrimaryPhone": {
|
||||
"properties": {
|
||||
"FreeFormNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"BalanceWithJobs": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"BillWithParent": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"Level": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"ParentRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"PrintOnCheckName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Job": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"Mobile": {
|
||||
"properties": {
|
||||
"FreeFormNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"PreferredDeliveryMethod": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Taxable": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"DisplayName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"WebAddr": {
|
||||
"properties": {
|
||||
"URI": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Active": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"GivenName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ShipAddr": {
|
||||
"properties": {
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CountrySubDivisionCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Country": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"City": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PostalCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Fax": {
|
||||
"properties": {
|
||||
"FreeFormNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"ParentRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"LastUpdatedTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
},
|
||||
"CreateTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"FullyQualifiedName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SubDepartment": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"Active": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,304 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"DepartmentRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CashBack": {
|
||||
"properties": {
|
||||
"AccountRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"Memo": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LineNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"DetailType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"DepositLineDetail": {
|
||||
"properties": {
|
||||
"PaymentMethodRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"AccountRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CheckNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"LinkedTxn": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"TxnLineId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"DepositToAccountRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnDate": {
|
||||
"format": "date",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"ExchangeRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"PrivateNote": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,195 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"HiredDate": {
|
||||
"format": "date",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PrimaryPhone": {
|
||||
"properties": {
|
||||
"FreeFormNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"BillableTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"DisplayName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"GivenName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"FamilyName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Active": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"BirthDate": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PrintOnCheckName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"PrimaryAddr": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {}
|
||||
},
|
||||
"PrimaryEmailAddr": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {}
|
||||
},
|
||||
"Title": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MiddleName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ReleasedDate": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
},
|
||||
"Mobile": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {}
|
||||
},
|
||||
"Gender": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"BillRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"Suffix": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"EmployeeNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Organization": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,548 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"BillEmail": {
|
||||
"properties": {
|
||||
"Address": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"BillAddr": {
|
||||
"properties": {
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line2": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line4": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line3": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"TxnStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"EmailStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"TxnDate": {
|
||||
"format": "date",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DocNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CustomerRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DeliveryInfo": {
|
||||
"properties": {
|
||||
"DeliveryType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"TxnTaxDetail": {
|
||||
"properties": {
|
||||
"TotalTax": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TaxLine": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TaxLineDetail": {
|
||||
"properties": {
|
||||
"PercentBased": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"TaxPercent": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"NetAmountTaxable": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TaxRateRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"DetailType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"TxnTaxCodeRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"LinkedTxn": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"TxnId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"CustomerMemo": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Line": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LineNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"DetailType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Description": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"SalesItemLineDetail": {
|
||||
"properties": {
|
||||
"ItemRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Qty": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TaxCodeRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"UnitPrice": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"ApplyTaxAfterDiscount": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"PrintStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CustomField": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"DefinitionId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Type": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"ExchangeRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"HomeTotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"ShipAddr": {
|
||||
"properties": {
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CountrySubDivisionCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"City": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PostalCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,716 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"AllowOnlineACHPayment": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"CustomerRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"BillAddr": {
|
||||
"properties": {
|
||||
"CountrySubDivisionCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"City": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line3": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line2": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line4": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PostalCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"DocNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DeliveryInfo": {
|
||||
"properties": {
|
||||
"DeliveryType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"SalesTermRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"AllowIPNPayment": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"AllowOnlineCreditCardPayment": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CustomerMemo": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CustomField": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"Type": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"StringValue": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DefinitionId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"Balance": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"AllowOnlinePayment": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"DueDate": {
|
||||
"format": "date",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnDate": {
|
||||
"format": "date",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ExchangeRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"HomeTotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"Line": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"LinkedTxn": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"TxnType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"DetailType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"SalesItemLineDetail": {
|
||||
"properties": {
|
||||
"ClassRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"TaxCodeRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"UnitPrice": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"ServiceDate": {
|
||||
"format": "date",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ItemRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Qty": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"LineNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"DiscountLineDetail": {
|
||||
"properties": {
|
||||
"DiscountAccountRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"DiscountPercent": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"PercentBased": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Description": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnTaxDetail": {
|
||||
"properties": {
|
||||
"TotalTax": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TaxLine": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"DetailType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TaxLineDetail": {
|
||||
"properties": {
|
||||
"NetAmountTaxable": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TaxPercent": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TaxRateRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"PercentBased": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"TxnTaxCodeRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"EmailStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LinkedTxn": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"TxnType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"PrintStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ApplyTaxAfterDiscount": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"BillEmail": {
|
||||
"properties": {
|
||||
"Address": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"ShipAddr": {
|
||||
"properties": {
|
||||
"City": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PostalCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CountrySubDivisionCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"PrivateNote": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,194 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"IncomeAccountRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"PurchaseDesc": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ExpenseAccountRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"InvStartDate": {
|
||||
"format": "date",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Active": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"FullyQualifiedName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Description": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Taxable": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"Type": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TrackQtyOnHand": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"AssetAccountRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"QtyOnHand": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"UnitPrice": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PurchaseCost": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,322 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"TaxRateRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"DocNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"JournalEntryLineDetail": {
|
||||
"properties": {
|
||||
"AccountRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"PostingType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"DetailType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Description": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"TxnDate": {
|
||||
"format": "date",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnTaxDetail": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"TotalTax": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TxnTaxCodeRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"TaxLine": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"DetailType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TaxLineDetail": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"TaxPercent": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"OverrideDeltaAmount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TaxInclusiveAmount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"PercentBased": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"NetAmountTaxable": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TaxRateRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"PrivateNote": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ExchangeRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Adjustment": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"LastUpdatedTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
},
|
||||
"CreateTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Type": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Active": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,342 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"DepositToAccountRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"ARAccountRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Line": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"LineEx": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"any": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"typeSubstituted": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"scope": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"nil": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"declaredType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"globalScope": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"LinkedTxn": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"TxnType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ProcessPayment": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PrivateNote": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ExchangeRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"LinkedTxn": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"TxnType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"UnappliedAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"LastUpdatedTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
},
|
||||
"CreateTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TxnDate": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date"
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PaymentMethodRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"CustomerRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"PaymentRefNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,572 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Memo": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DueDate": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date"
|
||||
},
|
||||
"PrivateNote": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnTaxDetail": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {}
|
||||
},
|
||||
"EmailStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ShipTo": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"ClassRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"SalesTermRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"APAccountRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ShipAddr": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line3": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line2": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"LinkedTxn": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"TxnType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"VendorAddr": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line4": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line3": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line2": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"City": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Country": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CustomField": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DefinitionId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Type": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"MetaData": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"LastUpdatedTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
},
|
||||
"CreateTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ExchangeRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"POStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"VendorRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"TxnDate": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date"
|
||||
},
|
||||
"DocNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DepartmentRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Line": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"LineNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DetailType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ItemBasedExpenseLineDetail": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"BillableStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ClassRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"ItemRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"UnitPrice": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TaxCodeRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Qty": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"CustomerRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Description": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,470 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"PrivateNote": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PaymentType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"LastUpdatedTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
},
|
||||
"CreateTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RemitToAddr": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"PostalCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CountrySubDivisionCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"City": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"ExchangeRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"PrintStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"AccountRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"EntityRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"type": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"TxnDate": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date"
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Credit": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"ItemBasedExpenseLineDetail": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"ItemRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Qty": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"BillableStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"UnitPrice": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TaxCodeRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"AccountBasedExpenseLineDetail": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"AccountRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"CustomerRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"BillableStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TaxCodeRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"DetailType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Description": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"PurchaseEx": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"any": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"scope": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"nil": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"globalScope": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"declaredType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"typeSubstituted": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"DocNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,412 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"BillEmail": {
|
||||
"properties": {
|
||||
"Address": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"PaymentMethodRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CustomerRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LineNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"DetailType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Description": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"SalesItemLineDetail": {
|
||||
"properties": {
|
||||
"ItemRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Qty": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TaxCodeRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"UnitPrice": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Balance": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"TxnTaxDetail": {
|
||||
"properties": {
|
||||
"TotalTax": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"DepositToAccountRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CustomerMemo": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnDate": {
|
||||
"format": "date",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PrintStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CustomField": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"DefinitionId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Type": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"BillAddr": {
|
||||
"properties": {
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line2": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line4": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line3": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"DocNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ApplyTaxAfterDiscount": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"ExchangeRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"HomeTotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,546 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Balance": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"CustomerRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"LinkedTxn": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"TxnType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ApplyTaxAfterDiscount": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"PaymentRefNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnTaxDetail": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"TotalTax": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"PrintStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"LastUpdatedTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
},
|
||||
"CreateTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CustomField": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DefinitionId": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Type": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BillAddr": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line2": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line3": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line4": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"EmailStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line": {
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"DiscountLineDetail": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"PercentBased": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"DiscountPercent": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"DiscountAccountRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"LineNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"DetailType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SalesItemLineDetail": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"ItemRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Qty": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"UnitPrice": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"TaxCodeRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Description": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"PaymentMethodRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"TxnDate": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date"
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DocNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"BillEmail": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Address": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"CustomerMemo": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"ShipAddr": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"PostalCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CountrySubDivisionCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Country": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"City": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"ExchangeRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"HomeTotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"DepositToAccountRef": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TaxRegistrationNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TaxTrackedOnPurchases": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"DisplayName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"TaxTrackedOnSales": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,158 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"TaxGroup": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"PurchaseTaxRateList": {
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {}
|
||||
},
|
||||
"Hidden": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Active": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"Taxable": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"Description": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SalesTaxRateList": {
|
||||
"properties": {
|
||||
"TaxRateDetail": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"TaxOrder": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"TaxTypeApplicable": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TaxRateRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,177 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"SpecialTaxType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"AgencyRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Description": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Active": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"RateValue": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DisplayType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"EffectiveTaxRate": {
|
||||
"anyOf": [
|
||||
{
|
||||
"properties": {
|
||||
"RateValue": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"EndDate": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
},
|
||||
"EffectiveDate ": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"properties": {
|
||||
"RateValue": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"EndDate": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
},
|
||||
"EffectiveDate ": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DiscountPercent": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"DayOfMonthDue": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"DiscountDayOfMonth": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"DueNextMonthDays": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Type": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Active": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"DueDays": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DiscountDays": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,170 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"HourlyRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"CustomerRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Taxable": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"Description": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Minutes": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"ItemRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TxnDate": {
|
||||
"format": "date",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"EmployeeRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"BillableStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"NameOf": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Hours": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"sparse": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"PrivateNote": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"LastUpdatedTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
},
|
||||
"CreateTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"TxnDate": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date"
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ExchangeRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"ToAccountRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"FromAccountRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,292 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"LastUpdatedTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
},
|
||||
"CreateTime": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"ExchangeRate": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TotalAmt": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"VendorRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"DepartmentRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"APAccountRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"TxnDate": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"format": "date"
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"LineNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"AccountBasedExpenseLineDetail": {
|
||||
"properties": {
|
||||
"CustomerRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"ClassRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"AccountRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"BillableStatus": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TaxCodeRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Amount": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"DetailType": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Description": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"array"
|
||||
]
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"DocNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,293 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"GivenName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PrimaryPhone": {
|
||||
"properties": {
|
||||
"FreeFormNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"AcctNum": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"MiddleName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"BillAddr": {
|
||||
"properties": {
|
||||
"Lat": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CountrySubDivisionCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Country": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"City": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Long": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PostalCode": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Line1": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"PrimaryEmailAddr": {
|
||||
"properties": {
|
||||
"Address": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Balance": {
|
||||
"type": [
|
||||
"null",
|
||||
"number"
|
||||
]
|
||||
},
|
||||
"TaxIdentifier": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"CompanyName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"FamilyName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"PrintOnCheckName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"WebAddr": {
|
||||
"properties": {
|
||||
"URI": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Mobile": {
|
||||
"properties": {
|
||||
"FreeFormNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"CurrencyRef": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Vendor1099": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"SyncToken": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"DisplayName": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"TermRef": {
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"MetaData": {
|
||||
"properties": {
|
||||
"CreateTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"LastUpdatedTime": {
|
||||
"format": "date-time",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Fax": {
|
||||
"properties": {
|
||||
"FreeFormNumber": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
},
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"Suffix": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Id": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"domain": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"Active": {
|
||||
"type": [
|
||||
"null",
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
"Title": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"airbyte_cursor": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
#
|
||||
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
|
||||
#
|
||||
|
||||
from airbyte_cdk.sources.declarative.yaml_declarative_source import YamlDeclarativeSource
|
||||
|
||||
"""
|
||||
This file provides the necessary constructs to interpret a provided declarative YAML configuration file into
|
||||
source connector.
|
||||
|
||||
WARNING: Do not modify this file.
|
||||
"""
|
||||
|
||||
|
||||
# Declarative Source
|
||||
class SourceQuickbooks(YamlDeclarativeSource):
|
||||
def __init__(self):
|
||||
super().__init__(**{"path_to_yaml": "manifest.yaml"})
|
||||
@@ -0,0 +1,168 @@
|
||||
{
|
||||
"documentationUrl": "https://docs.airbyte.com/integrations/sources/quickbooks",
|
||||
"connectionSpecification": {
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Source QuickBooks Spec",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"credentials",
|
||||
"start_date",
|
||||
"sandbox"
|
||||
],
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"credentials": {
|
||||
"title": "Authorization Method",
|
||||
"type": "object",
|
||||
"order": 0,
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"title": "OAuth2.0",
|
||||
"required": [
|
||||
"client_id",
|
||||
"client_secret",
|
||||
"refresh_token",
|
||||
"access_token",
|
||||
"token_expiry_date",
|
||||
"realm_id"
|
||||
],
|
||||
"properties": {
|
||||
"auth_type": {
|
||||
"type": "string",
|
||||
"const": "oauth2.0"
|
||||
},
|
||||
"client_id": {
|
||||
"type": "string",
|
||||
"title": "Client ID",
|
||||
"description": "Identifies which app is making the request. Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production."
|
||||
},
|
||||
"client_secret": {
|
||||
"description": " Obtain this value from the Keys tab on the app profile via My Apps on the developer site. There are two versions of this key: development and production.",
|
||||
"title": "Client Secret",
|
||||
"type": "string",
|
||||
"airbyte_secret": true
|
||||
},
|
||||
"refresh_token": {
|
||||
"description": "A token used when refreshing the access token.",
|
||||
"title": "Refresh Token",
|
||||
"type": "string",
|
||||
"airbyte_secret": true
|
||||
},
|
||||
"access_token": {
|
||||
"description": "Access token fot making authenticated requests.",
|
||||
"title": "Access Token",
|
||||
"type": "string",
|
||||
"airbyte_secret": true
|
||||
},
|
||||
"token_expiry_date": {
|
||||
"type": "string",
|
||||
"title": "Token Expiry Date",
|
||||
"description": "The date-time when the access token should be refreshed.",
|
||||
"format": "date-time"
|
||||
},
|
||||
"realm_id": {
|
||||
"description": "Labeled Company ID. The Make API Calls panel is populated with the realm id and the current access token.",
|
||||
"title": "Realm ID",
|
||||
"type": "string",
|
||||
"airbyte_secret": true
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"start_date": {
|
||||
"order": 1,
|
||||
"description": "The default value to use if no bookmark exists for an endpoint (rfc3339 date string). E.g, 2021-03-20T00:00:00+00:00. Any data before this date will not be replicated.",
|
||||
"title": "Start Date",
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}[+-][0-9]{2}:[0-9]{2}",
|
||||
"examples": [
|
||||
"2021-03-20T00:00:00+00:00"
|
||||
]
|
||||
},
|
||||
"sandbox": {
|
||||
"order": 2,
|
||||
"description": "Determines whether to use the sandbox or production environment.",
|
||||
"title": "Sandbox",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"advanced_auth": {
|
||||
"auth_flow_type": "oauth2.0",
|
||||
"predicate_key": ["credentials", "auth_type"],
|
||||
"predicate_value": "oauth2.0",
|
||||
"oauth_config_specification": {
|
||||
"complete_oauth_output_specification": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"access_token": {
|
||||
"type": "string",
|
||||
"path_in_connector_config": [
|
||||
"credentials",
|
||||
"access_token"
|
||||
]
|
||||
},
|
||||
"refresh_token": {
|
||||
"type": "string",
|
||||
"path_in_connector_config": [
|
||||
"credentials",
|
||||
"refresh_token"
|
||||
]
|
||||
},
|
||||
"token_expiry_date": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"path_in_connector_config": [
|
||||
"credentials",
|
||||
"token_expiry_date"
|
||||
]
|
||||
},
|
||||
"realm_id": {
|
||||
"type": "string",
|
||||
"path_in_connector_config": [
|
||||
"credentials",
|
||||
"realm_id"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"complete_oauth_server_input_specification": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"client_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"client_secret": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"complete_oauth_server_output_specification": {
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"client_id": {
|
||||
"type": "string",
|
||||
"path_in_connector_config": [
|
||||
"credentials",
|
||||
"client_id"
|
||||
]
|
||||
},
|
||||
"client_secret": {
|
||||
"type": "string",
|
||||
"path_in_connector_config": [
|
||||
"credentials",
|
||||
"client_secret"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
import re
|
||||
from datetime import datetime, timezone
|
||||
|
||||
from source_quickbooks.components import LastRecordDictProxy
|
||||
from source_quickbooks.components import CustomDatetimeBasedCursor
|
||||
|
||||
|
||||
def test_dict_proxy():
|
||||
record = {
|
||||
"Id": "1",
|
||||
"MetaData": {
|
||||
"CreateTime": "2023-02-10T14:42:07-08:00",
|
||||
"LastUpdatedTime": "2023-02-18T13:13:33-08:00"
|
||||
}
|
||||
}
|
||||
proxy = LastRecordDictProxy(record, {"airbyte_cursor": "MetaData/LastUpdatedTime"})
|
||||
|
||||
assert proxy["MetaData/LastUpdatedTime"] == "2023-02-18T13:13:33-08:00"
|
||||
assert proxy["Id"] == "1"
|
||||
|
||||
assert proxy.get("MetaData/LastUpdatedTime") == "2023-02-18T13:13:33-08:00"
|
||||
assert proxy.get("Id") == "1"
|
||||
|
||||
assert "airbyte_cursor" not in record
|
||||
assert proxy["airbyte_cursor"] == record["MetaData"]["LastUpdatedTime"]
|
||||
|
||||
proxy["MetaData/LastUpdatedTime"] = "0000-00-00T00:00:00+00:00"
|
||||
proxy["Id"] = "2"
|
||||
|
||||
assert record["MetaData"]["LastUpdatedTime"] == "0000-00-00T00:00:00+00:00"
|
||||
assert record["Id"] == "2"
|
||||
|
||||
del record["MetaData"]["CreateTime"]
|
||||
|
||||
assert "CreateTime" not in record["MetaData"]
|
||||
|
||||
assert record == {
|
||||
"Id": "2",
|
||||
"MetaData": {"LastUpdatedTime": "0000-00-00T00:00:00+00:00"}
|
||||
}
|
||||
|
||||
|
||||
def test_custom_datetime_based_cursor__update_cursor():
|
||||
cursor_field_name = "airbyte_cursor"
|
||||
record_cursor_value = "2023-02-10T14:42:05-08:00"
|
||||
|
||||
date_time_based_cursor_component = CustomDatetimeBasedCursor(
|
||||
start_datetime="2023-02-01T00:00:00+00:00",
|
||||
end_datetime="2023-02-01T00:00:00+00:00",
|
||||
step="P30D",
|
||||
cursor_field=cursor_field_name,
|
||||
datetime_format="%Y-%m-%dT%H:%M:%S%z",
|
||||
cursor_granularity="PT0S",
|
||||
config={},
|
||||
parameters={}
|
||||
)
|
||||
|
||||
date_time_based_cursor_component.update_cursor(
|
||||
{
|
||||
"start_time": "2023-02-01T00:00:00+00:00",
|
||||
"end_time": "2023-03-03T00:00:00+00:00"
|
||||
},
|
||||
{
|
||||
"Id": "1",
|
||||
"MetaData": {
|
||||
"CreateTime": "2023-02-10T14:42:07-08:00",
|
||||
"LastUpdatedTime": record_cursor_value
|
||||
}
|
||||
}
|
||||
)
|
||||
assert date_time_based_cursor_component.get_stream_state() == {cursor_field_name: record_cursor_value}
|
||||
|
||||
|
||||
def test_custom_datetime_based_cursor__format_datetime():
|
||||
date_time_based_cursor_component = CustomDatetimeBasedCursor(
|
||||
start_datetime="2023-02-01T00:00:00+00:00",
|
||||
end_datetime="2023-02-01T00:00:00+00:00",
|
||||
step="P30D",
|
||||
cursor_field="airbyte_cursor",
|
||||
datetime_format="%Y-%m-%dT%H:%M:%S%z",
|
||||
cursor_granularity="PT0S",
|
||||
config={},
|
||||
parameters={}
|
||||
)
|
||||
|
||||
_format_datetime = getattr(date_time_based_cursor_component, "_format_datetime")
|
||||
pattern = re.compile("^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}[+-][0-9]{2}:[0-9]{2}")
|
||||
assert pattern.fullmatch(_format_datetime(datetime.now(timezone.utc)))
|
||||
|
||||
|
||||
def test_custom_datetime_based_cursor__parse_datetime():
|
||||
date_time_based_cursor_component = CustomDatetimeBasedCursor(
|
||||
start_datetime="2023-02-01T00:00:00+00:00",
|
||||
end_datetime="2023-02-01T00:00:00+00:00",
|
||||
step="P30D",
|
||||
cursor_field="airbyte_cursor",
|
||||
datetime_format="%Y-%m-%dT%H:%M:%S%z",
|
||||
cursor_granularity="PT0S",
|
||||
config={},
|
||||
parameters={}
|
||||
)
|
||||
|
||||
datetime_string_original_offset = "2023-02-10T14:42:05-08:00"
|
||||
datetime_string_in_utc = "2023-02-10T22:42:05+00:00"
|
||||
|
||||
parse_date = getattr(date_time_based_cursor_component, "parse_date")
|
||||
dt_utc = parse_date(datetime_string_original_offset)
|
||||
|
||||
_format_datetime = getattr(date_time_based_cursor_component, "_format_datetime")
|
||||
assert _format_datetime(dt_utc) == datetime_string_in_utc
|
||||
@@ -190,7 +190,7 @@
|
||||
| **PyPI** | <img alt="PyPI icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config-oss/init-oss/src/main/resources/icons/pypi.svg" height="30" height="30"/> | Source | airbyte/source-pypi:0.1.0 | alpha | [link](https://docs.airbyte.com/integrations/sources/pypi) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-pypi) | <small>`88ecd3a8-5f5b-11ed-9b6a-0242ac120002`</small> |
|
||||
| **Qonto** | <img alt="Qonto icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config-oss/init-oss/src/main/resources/icons/qonto.svg" height="30" height="30"/> | Source | airbyte/source-qonto:0.1.0 | alpha | [link](https://docs.airbyte.com/integrations/sources/public-qonto) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-qonto) | <small>`f7c0b910-5f66-11ed-9b6a-0242ac120002`</small> |
|
||||
| **Qualaroo** | <img alt="Qualaroo icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config-oss/init-oss/src/main/resources/icons/qualaroo.svg" height="30" height="30"/> | Source | airbyte/source-qualaroo:0.1.2 | alpha | [link](https://docs.airbyte.com/integrations/sources/qualaroo) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-qualaroo) | <small>`b08e4776-d1de-4e80-ab5c-1e51dad934a2`</small> |
|
||||
| **QuickBooks** | <img alt="QuickBooks icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config-oss/init-oss/src/main/resources/icons/qb.svg" height="30" height="30"/> | Source | airbyte/source-quickbooks-singer:0.1.5 | alpha | [link](https://docs.airbyte.com/integrations/sources/quickbooks-singer) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-quickbooks-singer) | <small>`29b409d9-30a5-4cc8-ad50-886eb846fea3`</small> |
|
||||
| **QuickBooks** | <img alt="QuickBooks icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config-oss/init-oss/src/main/resources/icons/quickbooks.svg" height="30" height="30"/> | Source | airbyte/source-quickbooks:1.0.0 | alpha | [link](https://docs.airbyte.com/integrations/sources/quickbooks) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-quickbooks) | <small>`cf9c4355-b171-4477-8f2d-6c5cc5fc8b7e`</small> |
|
||||
| **RD Station Marketing** | <img alt="RD Station Marketing icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config-oss/init-oss/src/main/resources/icons/rdstation.svg" height="30" height="30"/> | Source | airbyte/source-rd-station-marketing:0.1.1 | alpha | [link](https://docs.airbyte.com/integrations/sources/rd-station-marketing) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-rd-station-marketing) | <small>`fb141f29-be2a-450b-a4f2-2cd203a00f84`</small> |
|
||||
| **RKI Covid** | <img alt="RKI Covid icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config-oss/init-oss/src/main/resources/icons/rki.svg" height="30" height="30"/> | Source | airbyte/source-rki-covid:0.1.2 | alpha | [link](https://docs.airbyte.com/integrations/sources/rki-covid) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-rki-covid) | <small>`d78e5de0-aa44-4744-aa4f-74c818ccfe19`</small> |
|
||||
| **RSS** | <img alt="RSS icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config-oss/init-oss/src/main/resources/icons/rss.svg" height="30" height="30"/> | Source | airbyte/source-rss:0.1.0 | unknown | [link](https://docs.airbyte.com/integrations/sources/rss) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-rss) | <small>`0efee448-6948-49e2-b786-17db50647908`</small> |
|
||||
|
||||
@@ -1,12 +1,71 @@
|
||||
# QuickBooks
|
||||
|
||||
## Overview
|
||||
This page contains the setup guide and reference information for the QuickBooks Source connector.
|
||||
|
||||
The QuickBooks source supports both Full Refresh and Incremental syncs. You can choose if this connector will copy only the new or updated data, or all rows in the tables and columns you set up for replication, every time a sync is run.
|
||||
## Prerequisites
|
||||
|
||||
This source wraps the [Singer QuickBooks Tap](https://github.com/singer-io/tap-quickbooks).
|
||||
- [Intuit QuickBooks account](https://quickbooks.intuit.com/global/)
|
||||
|
||||
### Output schema
|
||||
<!-- env:oss -->
|
||||
**For Airbyte Open Source:**
|
||||
|
||||
- OAuth2.0 credentials (see [OAuth 2.0 playground](https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0-playground))
|
||||
- Realm ID
|
||||
<!-- /env:oss -->
|
||||
|
||||
## Setup guide
|
||||
|
||||
### Step 1: Set up QuickBooks
|
||||
|
||||
Create a [Intuit Developer account](https://developer.intuit.com/app/developer/qbo/docs/get-started)
|
||||
|
||||
<!-- env:oss -->
|
||||
**Airbyte Open Source additional setup steps**
|
||||
|
||||
1. Create an application
|
||||
2. Obtain credentials. The easiest way to get these credentials is by using Quickbook's [OAuth 2.0 playground](https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0-playground)
|
||||
|
||||
<!-- /env:oss -->
|
||||
|
||||
<!-- env:cloud -->
|
||||
### Step 2: Set up the QuickBooks connector in Airbyte
|
||||
|
||||
**For Airbyte Cloud:**
|
||||
|
||||
1. [Log into your Airbyte Cloud](https://cloud.airbyte.com/workspaces) account.
|
||||
2. In the left navigation bar, click **Sources**. In the top-right corner, click **+ new source**.
|
||||
3. On the source setup page, select **QuickBooks** from the Source type dropdown and enter a name for this connector.
|
||||
4. Click `Authenticate your QuickBooks account`
|
||||
5. Log in and Authorize to the QuickBooks account.
|
||||
6. **Start date** - The date starting from which you'd like to replicate data.
|
||||
7. **Sandbox** - Turn on if you're going to replicate the data from the sandbox environment.
|
||||
8. Click **Set up source**.
|
||||
|
||||
<!-- /env:cloud -->
|
||||
|
||||
<!-- env:oss -->
|
||||
**For Airbyte Open Source:**
|
||||
|
||||
1. **Client ID** - The OAuth2.0 application ID
|
||||
2. **Client Secret** - The OAuth2.0 application secret
|
||||
3. **Refresh Token** - Refresh token used to get new access token every time the current one is expired
|
||||
4. **Access Token** - Access token to perform authenticated API calls with
|
||||
5. **Token Expiry Date** - DateTime when the access token becomes invalid
|
||||
6. **Start date** - The date from which you'd like to replicate data for streams.
|
||||
7. **Realm ID** - The Labeled [Company ID](https://developer.intuit.com/app/developer/qbo/docs/learn/learn-basic-field-definitions#realm-id) you'd like to replicate data for streams.
|
||||
8. **Sandbox** - Turn on if you're going to replicate the data from the sandbox environment.
|
||||
<!-- /env:oss -->
|
||||
|
||||
## Supported sync modes
|
||||
|
||||
The Quickbooks Source connector supports the following [ sync modes](https://docs.airbyte.com/cloud/core-concepts#connection-sync-modes):
|
||||
|
||||
* [Full Refresh - Overwrite](https://docs.airbyte.com/understanding-airbyte/connections/full-refresh-overwrite/)
|
||||
* [Full Refresh - Append](https://docs.airbyte.com/understanding-airbyte/connections/full-refresh-append)
|
||||
* [Incremental - Append](https://docs.airbyte.com/understanding-airbyte/connections/incremental-append)
|
||||
* [Incremental - Deduped History](https://docs.airbyte.com/understanding-airbyte/connections/incremental-deduped-history)
|
||||
|
||||
## Supported Streams
|
||||
|
||||
This Source is capable of syncing the following [Streams](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/account):
|
||||
|
||||
@@ -39,45 +98,20 @@ This Source is capable of syncing the following [Streams](https://developer.intu
|
||||
- [VendorCredits](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendorcredit)
|
||||
- [Vendors](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendor)
|
||||
|
||||
### Data type mapping
|
||||
## Data type map
|
||||
|
||||
| Integration Type | Airbyte Type | Notes |
|
||||
| :--------------- | :----------- | :---- |
|
||||
|:-----------------|:-------------|:------|
|
||||
| `string` | `string` | |
|
||||
| `number` | `number` | |
|
||||
| `array` | `array` | |
|
||||
| `object` | `object` | |
|
||||
|
||||
### Features
|
||||
|
||||
| Feature | Supported?\(Yes/No\) | Notes |
|
||||
| :---------------- | :------------------- | :---- |
|
||||
| Full Refresh Sync | Yes | |
|
||||
| Incremental Sync | Yes | |
|
||||
| SSL connection | Yes | |
|
||||
| Namespaces | No | |
|
||||
|
||||
## Getting started
|
||||
|
||||
1. Create an [Intuit Developer account](https://developer.intuit.com/app/developer/qbo/docs/get-started)
|
||||
2. Create an app
|
||||
3. Obtain credentials
|
||||
|
||||
### Requirements
|
||||
|
||||
- Client ID
|
||||
- Client Secret
|
||||
- Realm ID
|
||||
- Refresh token
|
||||
|
||||
The easiest way to get these credentials is by using Quickbook's [OAuth 2.0 playground](https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0-playground)
|
||||
|
||||
**Important note:** The refresh token expires every 100 days. You will need to manually revisit the Oauth playground to obtain a refresh token every 100 days, or your syncs will expire. We plan on offering full Oauth support soon so you don't need to redo this process manually.
|
||||
|
||||
## CHANGELOG
|
||||
## Changelog
|
||||
|
||||
| Version | Date | Pull Request | Subject |
|
||||
| :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------- |
|
||||
|:--------|:-----------|:---------------------------------------------------------|:---------------------------------------------------------|
|
||||
| `1.0.0` | 2023-03-20 | [24324](https://github.com/airbytehq/airbyte/pull/24324) | Migrate to Low-Code |
|
||||
| `0.1.5` | 2022-02-17 | [10346](https://github.com/airbytehq/airbyte/pull/10346) | Update label `Quickbooks` -> `QuickBooks` |
|
||||
| `0.1.4` | 2021-12-20 | [8960](https://github.com/airbytehq/airbyte/pull/8960) | Update connector fields title/description |
|
||||
| `0.1.3` | 2021-08-10 | [4986](https://github.com/airbytehq/airbyte/pull/4986) | Using number data type for decimal fields instead string |
|
||||
Reference in New Issue
Block a user