---
title: AccountingIntegrations
editUrl: false
head: []
template: doc
prev: false
next: false
sidebar:
  hidden: false
  attrs: {}
pagefind: true
draft: false
---

Defined in: [src/accounting/client.gen.ts:8](https://github.com/slingshot/brex/blob/9dff46b5d5637a0dd072bca56d02d8a0f4425312/src/accounting/client.gen.ts#L8)

## Constructors

### Constructor

> **new AccountingIntegrations**(`_core`): `AccountingIntegrations`

Defined in: [src/accounting/client.gen.ts:9](https://github.com/slingshot/brex/blob/9dff46b5d5637a0dd072bca56d02d8a0f4425312/src/accounting/client.gen.ts#L9)

#### Parameters

##### \_core

[`BrexCore`](/brex/api/index/classes/brexcore/)

#### Returns

`AccountingIntegrations`

## Methods

### create()

> **create**(`body`, `options?`): `Promise`\<\{ `created_at`: `string`; `integration_id`: `string`; `status`: `"ACTIVE"` \| `"DISABLED"`; `vendor`: `string`; `vendor_account_id`: `string`; \}\>

Defined in: [src/accounting/client.gen.ts:25](https://github.com/slingshot/brex/blob/9dff46b5d5637a0dd072bca56d02d8a0f4425312/src/accounting/client.gen.ts#L25)

Create accounting integration

Create a new accounting integration. The behavior depends on the existing active integration:

- If no active integration exists: Creates and returns new integration
- If active integration exists with same vendor and vendor_account_id: Returns the existing active integration
- If active integration exists with same vendor but different vendor_account_id: Returns 409 error
- If active integration exists with different vendor: Returns 409 error

This ensures only one active integration exists per account.

`POST /v3/accounting/integration` — requires OAuth scope: `accounting.integration.write`

#### Parameters

##### body

###### vendor

`string`

**Description**

The accounting vendor/system. ERP partners must request Brex to create a vendor ID for them to use this field.

**Example**

```ts
ERP_A
```

###### vendor_account_id

`string`

**Description**

The vendor account ID to tie this integration to

**Example**

```ts
vendor_account_id
```

##### options?

[`RequestOptions`](/brex/api/index/interfaces/requestoptions/)

#### Returns

`Promise`\<\{ `created_at`: `string`; `integration_id`: `string`; `status`: `"ACTIVE"` \| `"DISABLED"`; `vendor`: `string`; `vendor_account_id`: `string`; \}\>

***

### disconnect()

> **disconnect**(`integrationId`, `options?`): `Promise`\<\{ `created_at`: `string`; `integration_id`: `string`; `status`: `"ACTIVE"` \| `"DISABLED"`; `vendor`: `string`; `vendor_account_id`: `string`; \}\>

Defined in: [src/accounting/client.gen.ts:49](https://github.com/slingshot/brex/blob/9dff46b5d5637a0dd072bca56d02d8a0f4425312/src/accounting/client.gen.ts#L49)

Disconnect accounting integration

Disconnect an active accounting integration.

- If integration is ACTIVE: Disconnects and returns success
- If integration ID doesn't exist: Returns 404 error
- If integration is not currently active: Returns 409 error

`POST /v3/accounting/integration/{integration_id}/disconnect` — requires OAuth scope: `accounting.integration.write`

#### Parameters

##### integrationId

`string`

##### options?

[`RequestOptions`](/brex/api/index/interfaces/requestoptions/)

#### Returns

`Promise`\<\{ `created_at`: `string`; `integration_id`: `string`; `status`: `"ACTIVE"` \| `"DISABLED"`; `vendor`: `string`; `vendor_account_id`: `string`; \}\>

***

### reactivate()

> **reactivate**(`integrationId`, `options?`): `Promise`\<\{ `created_at`: `string`; `integration_id`: `string`; `status`: `"ACTIVE"` \| `"DISABLED"`; `vendor`: `string`; `vendor_account_id`: `string`; \}\>

Defined in: [src/accounting/client.gen.ts:73](https://github.com/slingshot/brex/blob/9dff46b5d5637a0dd072bca56d02d8a0f4425312/src/accounting/client.gen.ts#L73)

Reactivate accounting integration

Reactivate a disconnected accounting integration.

- If integration is DISABLED: Reactivates and returns success
- If integration ID doesn't exist: Returns 404 error
- If an active integration already exists: Returns 409 error

`POST /v3/accounting/integration/{integration_id}/reactivate` — requires OAuth scope: `accounting.integration.write`

#### Parameters

##### integrationId

`string`

##### options?

[`RequestOptions`](/brex/api/index/interfaces/requestoptions/)

#### Returns

`Promise`\<\{ `created_at`: `string`; `integration_id`: `string`; `status`: `"ACTIVE"` \| `"DISABLED"`; `vendor`: `string`; `vendor_account_id`: `string`; \}\>