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’saccess_token in the headers.
| Field | Description | Format |
|---|---|---|
| contactFirst | First name of the user | Any string |
| contactLast | Last name of the user | Any string |
| name | Your user’s business’s name | Any string |
| The email associated with the user’s business | Standard email format | |
| address1 | First line of your user’s business address | Any string |
| address2 | Second line of your user’s business address | Any string |
| city | City of your user’s business address | Any string |
| state | State/Province of your user’s business address | Two-character string |
| zip | Zip/Postal code of your user’s business address | Any string |
| phoneWork | Your user’s business phone number | Numbers only |
| invoicePrefix | Prefix for invoice numbering | Any string. If the invoicePrefix is “ISO”, then the first invoice sent from this business will be invoice “ISO-01” |
| Field | Description | Default |
|---|---|---|
| showContactFirstLast | Whether the sender’s first and last names are displayed on invoices | False |
| showName | Whether the sender’s business name is displayed on invoices | True |
| showEmail | Whether the sender’s email is displayed on invoices | True |
| showAddress | Whether the sender’s business address is displayed on invoices | True |
| showPhoneWork | Whether the sender’s business phone number is displayed on invoice | True |
2. Uploading the user’s business logo
To upload a logo for a user’s business, simply POST the logo’s file path, along with anattachToId 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.| Field | Description | Format |
|---|---|---|
| brandColor | The primary color of your user’s brand | Six digit hexadecimal string, starting with # (e.g. “#5AAE46”) |
| defaultInvoiceNote | Default invoice message, to be appended at the end of the invoice | Any string |
| defaultInvoiceTerm | Default Invoice Term (i.e. how many days till the invoice is due). This can be overridden at the individual invoice level. | Must be one of the following: “DUE_NOW”, “NET_10”, “NET_15”, “NET_30”, “NET_60” |
| defaultReimbursableMarkUpPercent | Default expense mark-up percentage (useful when also consuming Tight’s Expense Tracking API) | Numbers only, between 0 and 100. For a 17.5% mark-up, use 17.5. |
| invoiceReminderSchedule | Automatic payment reminder frequencies, to be used as the default on new invoices | Array of strings, which can be any of the following values: “ON_DUE_DATE”, “THREE_DAYS_AFTER_DUE_DATE”, “EVERY_SEVEN_DAYS_AFTER_DUE_DATE”, “AFTER_TWO_MINS”. Note that “AFTER_TWO_MINS” is solely for dev/testing purposes. |
| thirdPartyPaymentsEnabled | Whether the user is set up to accept payments through your payment processing engine | Boolean |
| invoiceSetupComplete | Whether the user has completed all the invoice setup steps (helpful when determining whether to show the user a zero state UI) | Boolean |
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’saccess_token in the headers.
billableRate field for any employees whose time will be invoiced, and then simply POST the updated JSON object to the /employee endpoint: