> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tight.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Self-Employed & Business Income

Self-employed individuals often have multiple streams of income, and those individuals generally have to file one [Form 1040 Schedule C](/v5.0/products/taxes/tax-reporting/schedule-c) for each of those businesses.

LLCs, LLPs and S Corps also, obviously, need to track their business income, as that income ultimately passes through to the owner's tax filing.

In both of the above cases, the Tight Income Streams API has you covered.

## 1. How it works

The Tight API is able to ingest data from many different income streams, enabling you to easily provide your users with accurate tax calculations, financial reporting, and other accounting functionality.

If you are not using Tight's [Plaid integration](/v5.0/integrations/banking/plaid/integrating-plaid), in order for the Tight API to ingest your user's business income data, you can simply push each income record, as it is earned, to the Tight API. The Tight API will take care of the rest.

Tight allows you to track the income at the business-level, which is especially useful for self-employed folks who are earning income via multiple businesses. Optionally, the Tight Income Streams API lets you track income at the client-level, which enables very powerful financial reporting.

Once you have your user's self-employed and business income pushed into the Tight API, you can immediately start using all of Tight's Tax Calculations, Financial Reporting, and other functionality.

## 2. Adding self-employed or business income

If you are leveraging the Plaid integration for tracking income, please see the instructions on how to [classify income transactions as business income](/v5.0/products/bank-transactions/income/data-sources).

For any other business income streams from sources outside of the Plaid integration, you can simply add that income by making a POST call to the Tight API.

You should update the following fields on a new JSON object when adding business income:

| Field       | Description                                                                                                                                    | Format                                                    |
| :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------- |
| date        | Date that the revenue was deposited                                                                                                            | `yyyy-MM-dd` or `yyyy-MM-dd'T'HH:mm:ss.SSSZ`              |
| amount      | Total value of the income                                                                                                                      | Numeric, with 2 decimal places                            |
| type        | Whether the transaction was classified as Business or Personal                                                                                 | Must be one of the following: "BUSINESS", "NOT\_BUSINESS" |
| businessId  | Id of the [business](/v5.0/products/invoicing/design-branding#1-setting-up-the-users-business-info) that this should be assigned to            | Numeric                                                   |
| clientId    | Id of the [client](/v5.0/products/invoicing/creating-a-client#1-getting-the-users-existing-clients) that this should be assigned to. Optional. | Numeric                                                   |
| description | Description of the income. Optional.                                                                                                           | Any string                                                |

To add the income, simply POST the income's JSON object to the /revenue endpoint:

```curl theme={null}
curl \
  --request POST \
  --url https://sandbox.hurdlr.com/rest/v5/revenue/revenue \
  --header 'Authorization: Bearer ${access_token}' \
  --header 'Content-Type: application/json' \
  --data '{
  	"revenue": {
      "date": "2021-07-30T20:00:00.000Z",
      "amount": 500.00,
      "type": "BUSINESS",
      "businessId": 416080,
      "clientId": 805609,
      "description": "Design implementation"
    }
  }'
```

## 3. Getting self-employed or business income

All self-employed or business income can be accessed in the list of revenues, via the /revenues endpoint:

```curl theme={null}
curl \
  --request GET \
  --url https://sandbox.hurdlr.com/rest/v5/revenue/revenues?lastUpdatedDate=1970-01-01 \
  --header 'Authorization: Bearer ${access_token}' \
  --header 'Content-Type: application/json' \
```

The response from GET /revenues contains an array of the user's revenues:

```json theme={null}
{
  "data": [
    {
      "id": 760731,
      "type": "BUSINESS",
      "date": "2021-08-30T20:58:19.000Z",
      "amount": 399.99,
      "businessId": 416080,
      "clientId": 805609,
      "description": "Payment for design work",
      
      // Below fields populated if transaction originated from Plaid
      "plaidInstitutionId": "ins_5",
      "plaidDisplayName": "Citi Business Checking",
      "plaidAccountNo": "3333",
      "plaidItemAccountId": 17331,
      "apiName": "PLAID",
      "apiPaymentId": "Broro8rVMMUmXAdw59mvsm909M547gtxRk34B",
      // Above fields populated if transaction originated from Plaid
      
      "lastUpdatedDate": "2021-09-17T19:35:12.000Z"
    }
  ],
  "lastUpdatedDate": "2021-09-17T19:25:19.236Z"
}
```

On each revenue, you may find the following attributes to be of particular interest, especially the `type` field:

| Field            | Description                                                                                                                   | Format                                                               |
| :--------------- | :---------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------- |
| id               | Id of the revenue record                                                                                                      | Numeric                                                              |
| type             | Whether the transaction was classified as Business or Personal                                                                | Must be one of the following: "PENDING", "BUSINESS", "NOT\_BUSINESS" |
| date             | Date that the revenue was earned                                                                                              | `yyyy-MM-dd'T'HH:mm:ss.SSSZ`                                         |
| amount           | Total value of the deposit                                                                                                    | Numeric, with 2 decimal places                                       |
| businessId       | Id of the [business](/v5.0/products/invoicing/design-branding#1-setting-up-the-users-business-info) that this was assigned to | Numeric                                                              |
| clientId         | Id of the [client](/v5.0/products/invoicing/creating-a-client#1-getting-the-users-existing-clients) that this was assigned to | Numeric                                                              |
| description      | Description of the income                                                                                                     | Any string                                                           |
| pendingRevenueId | Id of the associated pending revenue                                                                                          | Numeric                                                              |

## 4. Next steps

Once you have pushed your user's self-employed and business income into the Tight API, you are ready to start pulling [tax estimates](/v5.0/products/taxes/tax-estimates/tax-estimates)!
