Skip to main content
Once you have registered a user, you can easily set your user up to send out custom invoices, by following the below steps.

1. Setting up the user’s business info

The Tight API allows users to have more than one business, with custom invoices for each, which provides a lot of flexibility in today’s modern workforce. First, you should retrieve a list of the user’s businesses. Be sure to include that user’s access_token in the headers.
The response from GET /businesses contains an array of the user’s businesses:
You should update the following fields for any given business, as they will be displayed on the user’s invoices. These fields can differ from those stored on an account level: You can also customize which sender info fields are shown on the user’s invoices by toggling the following booleans to true or false: To update a business, simply POST the updated business JSON object to the /business endpoint:
To upload a logo for a user’s business, simply POST the logo’s file path, along with an attachToId equal to the user’s business id:

3. Setting up the user’s invoice template

After updating the user’s business info, the next step to customize your user’s invoice is to update the invoice template info. First, you should retrieve the user’s invoice template info.
The response from GET /invoiceSetup contains the user’s invoice template info:
You can optionally update the following fields, in order to customize the user’s invoice template: To update the invoice template info, simply POST the updated JSON object to the /invoiceSetup endpoint:

4. Adding the user’s default billable rate

The Tight API allows users to have more than one employee (e.g. for SMBs), but in many cases, there will be only be one employee, which represents the user himself. In order to set that user’s billable rate, you should retrieve a list of the user’s employee. Be sure to include that user’s access_token in the headers.
The response from GET /businesses contains an array of the user’s businesses:
You should update the billableRate field for any employees whose time will be invoiced, and then simply POST the updated JSON object to the /employee endpoint: