
[space] Invoiced

[title] FreshBooks
[path] Integrations/Accounting Sync/

Invoiced integrates with FreshBooks out of the box to extend the billing capabilities of FreshBooks This document describes how to set up the integration and how it works in detail.

## Overview

The FreshBooks integration ships with the following capabilities:

- Bi-directional sync with FreshBooks
- New data from FreshBooks is synced once per hour
- Transactions generated on Invoiced post to FreshBooks in real-time
- Initial data sync

## Data Flow

| **Invoiced**    | **Sync To Invoiced** | **Sync To&#x20;**&#x46;reshBooks | FreshBooks |
| --------------- | -------------------- | -------------------------------- | ---------- |
| Customer        | ←                    |                                  | Customer   |
| Invoice         | ←                    |                                  | Invoice    |
| Payment         | ←                    | →                                | Payment    |
| Convenience Fee |                      | →                                | Invoice    |

## Setup

1. In order to begin syncing with FreshBooks first go to **Apps** → **FreshBooks**.
2. Click on **Install**. You will be redirected to FreshBooks. You will need to sign in to FreshBooks as an Administrator, if you are not already signed in.
3. Next you will be prompted to authorize Invoiced access to your FreshBooks company.  Click on **Authorize**.
4. You will be redirected back to Invoiced. FreshBooks is now connected! Now you can configure the accounting sync in order to tell Invoiced how to map the data into your general ledger.
5. Configure the data flows you wish to enable and any account mappings. Click **Save**.

## Usage

Once the FreshBooks integration is enabled it will sync data automatically per the data flows that you have enabled.

Writing data from Invoiced to FreshBooks will sync instantly.

Reading data from FreshBooks to Invoiced, such as when a new invoice is available, will sync once per hour. You can see when the last sync happened on the **Accounting Sync** page. If you wish to run a one-off sync you can click the **Sync Now** button.

### Initial Data Sync

The initial data sync feature allows you to sync data from your accounting system that was created before the integration was installed. You can run the initial data sync after you first install the integration to pick up previous transactions. The initial data sync is optional and is only performed if initiated by you.

The initial data sync can be started by going to the **Accounting Sync** page and clicking the **Initial Data Sync** button. Then you can select the type of data you want to sync and the date range for any transactions that will be synced.

You can only select a date range of at most 1 year. However, you can run multiple initial data syncs if you want to get transactions from a greater time period. Syncing more than 1,000 records at a time might not complete. If you need to sync a large volume of data, see [Importing Data](https://docs.invoiced.com/getting-started/importing-data) for instructions on how to import data through a spreadsheet.&#x20;

And here's a pro tip: if you're fetching invoices or credit notes from the past, don't forget to grab the payments, too. This way, you'll ensure your financial history is complete, with every balance perfectly in place.

Once the initial data sync is complete and you are satisfied with the results, we do not recommend using it again. The ongoing sync of the integration will keep your data up to date automatically.

### Handling Errors

On the **Accounting Sync** page you will see a *Reconciliation Errors* table which contains any sync errors that the integration encountered. Each error listed belongs to individual record that could not be synced. The error message is listed next to each failed record. When a record fails to sync it will not be re-attempted unless there is a new operation (i.e. updating the record) that triggers a new sync. You can retry syncing any failed record by clicking the **Retry** button or you can ignore the error by clicking the **Ignore** button. Errors will not go away until they are successful or ignored.

### Deposit Account Mapping

You can map the accounts in which payments are deposited into. You can create rules to choose the deposit account for each payment method and currency combination. The deposit account can be any general ledger account.

## Edge Cases

Here we have documented all of the limitations, nuances, and edge cases to be aware of when using the FreshBooks integration.

### General

- Any changes to data on the system other than where it originated will be ignored and potentially overwritten. For example, if an invoice was created on FreshBooks then subsequent modifications to that invoice on Invoiced would not sync to FreshBooks. It is possible that those changes on Invoiced would be overwritten by a future sync.

### Payments

- Credit balances from Invoiced do not sync to FreshBooks.

## Troubleshooting

When a sync fails you will be able to see the error message in the *Recent Syncs* section in **Apps** → **FreshBooks** → **Accounting Sync**. Normally the error message will include the invoice # that failed and a detailed reason why it could not be synced. Oftentimes there is a manual action required on your end.

[title] Accounts Payable
[path] /


[title] Adjustments
[path] Accounts Payable/

Invoiced offers a versatile adjustments feature designed to provide flexibility in managing the financial transactions related to bills and vendor credits. This feature enables users to adjust the balance of a bill or credit without altering the original document, ensuring that the historical integrity of transactions is maintained. The adjustments feature is particularly useful for correcting errors, accounting for discounts, or reconciling accounts. This documentation explains how to effectively use the adjustments feature within Invoiced.

## Overview of the Adjustments Feature

The adjustments feature in Invoiced allows for the modification of bill or credit balances through the recording of adjustments. Each adjustment is documented with a reason, and the balance can be either increased or decreased depending on the specific circumstances.

### Key Benefits:

- **Flexibility**: Quickly adapt to changes without the need to modify original documents.
- **Transparency**: Maintain a clear audit trail by recording reasons for each adjustment.
- **Accuracy**: Ensure financial records are accurate and reflect the current state of accounts.

## Recording an Adjustment

### Step 1: Accessing Bills or Credits

- Log into your Invoiced account.
- Navigate to the `Bills` or `Credits` section, depending on which you need to adjust.

### Step 2: Selecting a Bill or Credit

- Choose the bill or credit to which an adjustment needs to be applied.
- Open the detailed view of the selected bill or credit to access its specific options.

### Step 3: Initiating an Adjustment

- Click the `Add Adjustment` button in the bill or credit detail view to begin the process of creating an adjustment.

### Step 4: Filling in Adjustment Details

- **Amount**: Enter the amount by which the bill or credit balance should be adjusted. Specify whether the balance should be increased or decreased.
- **Reason**: Provide a clear and concise reason for the adjustment. This might include explanations such as "discount received," "pricing error," or "returned goods."
- **Date**: Select the date of the adjustment, which can be the current date or a date when the adjustment reason occurred.

### Step 5: Saving the Adjustment

- Review the details of the adjustment to ensure accuracy.
- Save the adjustment. The balance of the bill or credit will be updated accordingly, and the adjustment will be recorded in the transaction history.

## Best Practices for Using Adjustments

- **Clear Documentation**: Always provide a detailed reason for each adjustment to ensure clarity and transparency in financial records.
- **Regular Review**: Periodically review bills and credits to ensure that adjustments are accurately reflected and that balances are correct.
- **Communication with Vendors**: For adjustments that affect vendor payments or credits, communicate changes with vendors to maintain good relationships and transparency.
- **Audit Trail**: Utilize the adjustments feature to maintain an accurate audit trail of changes made to financial documents, facilitating easier audits and reconciliations.

The adjustments feature in Invoiced provides a powerful tool for managing the fluid nature of financial transactions with vendors. By following these steps and best practices, you can ensure that your accounts payable records are both accurate and adaptable to changes, all while maintaining the integrity of original documents.

[title] ACH Payment File
[path] Accounts Payable/Payments/

Invoiced offers a streamlined way to send payments to your vendors using the Automated Clearing House (ACH) payment method. This guide will walk you through setting up and using the ACH payment file method within Invoiced, including generating ACH payment files that you will then upload to your bank's ACH payment service to complete transactions.

## Setting Up ACH Payment File Method

### Step 1: Navigate to Payment Methods

Log into your Invoiced account and go to the `Settings` section. From there, find the `Payment Methods` area, which allows you to manage and set up how you pay your vendors.

### Step 2: Enable ACH Payment File Option

Look for the ACH Payment File option within the list of available payment methods. Enable this option to begin setting it up as one of your preferred methods for paying vendors.

### Step 3: Configure ACH Settings

You may need to provide specific details to configure the ACH payment file settings properly. This could include:

- Bank Information: Your bank's routing number and your account number.
- File Format: Ensure the file format matches your bank’s requirements for ACH payments (e.g., NACHA format).
- Originator ID: Some banks require an originator ID for businesses making ACH payments.

### Step 4: Save Configuration

After entering all necessary information, save your settings. You’re now ready to generate ACH payment files for your vendor payments.

## Using the ACH Payment File Method

### Generating ACH Payment Files

### Step 1: Select Bills for Payment

Navigate to the `Bills` section in your Invoiced account. Select the bills you wish to pay using the ACH payment file method.

### Step 2: Initiate ACH Payment File Generation

With the bills selected, choose the ACH Payment File option as your payment method. Confirm the selection, and Invoiced will generate an ACH payment file based on the bills you’ve chosen to pay.

### Step 3: Review Payment File

Before proceeding, review the generated ACH payment file to ensure all payment details are correct, such as payment amounts, vendor bank information, and your company's bank information.

### Uploading ACH Payment Files to Your Bank

### Step 1: Access Your Bank’s ACH Payment Service

Log into your online banking portal and navigate to the ACH payment services section. This is where you will upload the ACH payment file generated by Invoiced.

### Step 2: Upload ACH Payment File

Follow your bank’s instructions for uploading ACH payment files. This typically involves selecting the generated file from your computer and confirming the upload.

### Step 3: Confirm Payment Submission

After uploading, your bank may require you to review and confirm the payment details one final time. Proceed with this confirmation to initiate the ACH payments.

### Monitoring Payment Status

After submitting your ACH payment file, monitor the payment status through both your Invoiced account and your bank’s transaction history. Ensure that payments are processed successfully and reconcile any discrepancies immediately.

## Best Practices for ACH Payments

- **Regularly Update Vendor Bank Details**: Ensure that your vendors' bank information is current in your Invoiced account to avoid payment rejections.
- **Securely Handle Bank Information**: Practice good security measures to protect your and your vendors' sensitive banking information.
- **Stay Informed on ACH Guidelines**: Familiarize yourself with your bank's ACH payment guidelines and any transaction limits or fees.

By following these steps, you can efficiently use the ACH payment file method within Invoiced to streamline your vendor payments, ensuring a secure and reliable payment process.

[title] Sage Intacct
[path] Integrations/Accounting Sync/

Invoiced integrates with Sage Intacct out of the box, a best-in-class cloud ERP. This document outlines how to setup and use the Intacct integration.

## Overview

The Intacct integration ships with the following capabilities:

- Bi-directional sync with Intacct
- New data from Intacct is synced once per hour
- Transactions generated on Invoiced post to Intacct in real-time
- Initial data sync

## Data Flow

| **Invoiced**    | **Sync to Invoiced** | **Sync to Intacct** | **Sage Intacct**    |
| --------------- | -------------------- | ------------------- | ------------------- |
| Customer        | ←                    | →                   | Customer            |
| Invoice         | ←                    |                     | Order Entry Invoice |
| Invoice         |                      | →                   | A/R Invoice         |
| Credit Note     | ←                    |                     | Order Entry Return  |
| Credit Note     |                      | →                   | A/R Adjustment      |
| Payment         | ←                    | →                   | A/R Payment         |
| Convenience Fee |                      | →                   | A/R Invoice         |

## Setup

In order to set up the Intacct integration you first need these pieces of information:

- Intacct Company ID
- Web services user

Below we will show you how to connect Intacct with Invoiced, step-by-step.

### Setting Up a Web Services User

The next step is to set up a web services user for Invoiced on Intacct. It is recommended that you use a dedicated web services user for Invoiced to ensure it has the correct permissions. We also recommend against using a non-web services user because any password changes would break the integration.

1. You need to ensure that your company has web services enabled on Intacct in **Company** → **Admin** → **Subscriptions**.
2. Go to **Company** → **Admin** → **Web Service Users**. Add a new user. You can use "Invoiced" as the User ID, Last name, and First name. The email address should be a company email address that won't change. The User type should be "Business," and the Admin Privileges should be "Full."
3. After you save the new Web Services User, go back to **Company&#x20;**→**&#x20;Admin&#x20;**→ **Web Service Users**. Select **Subscriptions** next to your new user. On the subscriptions page, check the boxes for **Accounts Receivable**, **General Ledger**, **Cash Management**, and **Order Entry** modules.
4. Select the **Permissions** button next to the Accounts Receivable module. Select the **All** radio in the top right. Click **Save**.
5. Click on the **Permissions** button next to the General Ledger module. Select the **Read only** radio in the top right. Click **Save**.
6. Click on the **Permissions** button next to the Cash Management module. Select the **Read only** radio in the top right. Click **Save**.
7. Click on the **Permissions** button next to the Order Entry module. Select the **Read only** radio in the top right. Click **Save**.
8. Click **Save** on the subscriptions page. You should receive an email with the company ID, username, and password information. You'll use these credentials in Invoiced to connect to your Intacct account.

### Adding a Web Services Authorization

After setting up your Web Services user, you need to authorize the sender ID that will be used to make Web Services requests to your Intacct company. This authorization controls which sender IDs can make Web Services requests to your company. If a sender ID is not authorized, any Web Services requests will fail.

To add a Web Services authorization:

1. In Intacct, go to **Company** → **Setup** → **Configuration** → **Company** → **Security** tab, then select **Edit**.
2. In the Web Services authorizations section, select **Add**.
3. On the Web Services sender information pop-up, enter a **Sender ID**.
   - Sender IDs are case sensitive and cannot be changed after the authorization is added.
   - If you're using Invoiced's default integration, you'll need to use the sender ID provided by Invoiced. If you're using a custom sender ID, enter that value.
4. Optionally, add a **Description** for the sender (e.g., "Invoiced Integration").
5. Ensure the **Status** is set to **Active**. Inactive sender IDs aren't able to make Web Services requests to your company.
6. Select **Save**.

### Connecting Intacct on Invoiced

1. Go to **Apps** → **Intacct** in the Invoiced application.
2. Click **Install**.
3. Enter in the Intacct company ID, username, and password for your Invoiced web services user created earlier.&#x20;
   - Multi-entity accounts
     - If you are using a shared multi-entity account, enter the entity ID for the specific entity you want the connection to use.
     - If you are using a shared multi-entity account and want to sync all entities, check the Sync all entities checkbox and leave the Entity ID field blank.&#x20;
4. Click **Save**. Intacct is now connected! Next you will want to configure the integration before using it.
5. You can customize the integration, including the data you want to sync to/from Intacct, account mappings, and other integration behaviors.
6. Click **Save&#x20;**&#x74;o enable the integration.

## Usage

Once the Intacct integration is enabled, it will sync data automatically per the data flows that you have enabled.

Reading data from Intacct to Invoiced, such as when a new invoice is available, will sync once per hour. You can see when the last sync happened on the **Accounting Sync** page. If you wish to run a one-off sync, you can click the **Sync Now** button.

Writing data from Invoiced to Intacct will sync instantly.

### Multi-entity accounts

The Intacct integration supports syncing all Intacct entities to one Invoiced account or syncing one Intacct entity to one Invoiced account.&#x20;

For data to sync to a specifi&#x63;**&#x20;Intacct entity**, all new records created in Invoiced must have the custom field `intacct_entity` with the correct entity ID. Customer transactions will automatically inherit this value if the transactions are created in Invoiced.

All customers and transactions without the `intacct_entity` custom field will sync at the top level

### Syncing Convenience Fees from Invoiced to Intacct

When the **Write** setting is enabled for convenience fees, the integration will create a convenience fee invoice in Intacct. The convenience fee is applied to this invoice, so it does not create a credit in Intacct. When you turn this setting on, you can also check the box to set line item dimensions and enter any required dimension IDs in the fields. This will add your dimension ID to the convenience fee invoice line item.&#x20;

When the **Write** setting is not enabled for convenience fees, the integration will attempt to write the total payment amount to Intacct with the convenience fee as an overpayment. If that is your intended outcome, you can check the box to set overpayment dimensions and enter any required dimension IDs in the fields.

### Initial Data Sync

The initial data sync feature allows you to sync data from your accounting system that was created before the integration was installed. You can run the initial data sync after you first install the integration to pick up previous transactions. The initial data sync is optional and is only performed if initiated by you.

The initial data sync can be started by going to the **Accounting Sync** page and clicking the **Initial Data Sync** button. Then you can select the type of data you want to sync and the date range for any transactions that will be synced.

You can only select a date range of at most 1 year. However, you can run multiple initial data syncs if you want to get transactions from a greater time period. Syncing more than 1,000 records at a time might not complete. If you need to sync a large volume of data, see [Importing Data](https://docs.invoiced.com/getting-started/importing-data) for instructions on how to import data through a spreadsheet.&#x20;

And here's a pro tip: if you're fetching invoices or credit notes from the past, don't forget to grab the payments, too. This way, you'll ensure your financial history is complete, with every balance perfectly in place.

Once the initial data sync is complete and you are satisfied with the results, we do not recommend using it again. The ongoing sync of the integration will keep your data up to date automatically.

### Dimension Mapping

We support setting line item dimensions and other fields on Intacct that do not have a standard Invoiced field. This can be useful if you first create invoices in Invoiced and post them to Intacct.&#x20;

In Apps > Sage Intacct > Configuration, check the box “Set Line Item Dimensions.” You’ll see fields that allow you to set a Location ID and Department ID on all invoice line items. It is important to set this up if you connect to Intacct at the top level and collect tax on invoices created in Invoiced or collect convenience fees on credit card payments received in Invoiced.&#x20;

You can also add dimension IDs to invoice line items directly using a custom field. The mappings happen automatically when a line item on Invoiced has a custom field with a specific ID that corresponds to a specific field on Intacct.&#x20;

This gives you granular control of the data sent to Intacct. You can set a default dimension ID in your configuration settings and use alternative dimension IDs on specific invoice line items with a custom field.

| **Invoiced Custom Field ID** | **Intacct Field**               |
| ---------------------------- | ------------------------------- |
| `intacct_entity`             | Entity ID                       |
| `intacct_glaccountno`        | GL Account Number               |
| `intacct_offsetglaccountno`  | Offset GL Account Number        |
| `intacct_allocation`         | Allocation ID                   |
| `intacct_location`           | Location ID                     |
| `intacct_department`         | Department ID                   |
| `intacct_project`            | Project ID                      |
| `intacct_vendor`             | Vendor ID                       |
| `intacct_employee`           | Employee ID                     |
| `intacct_item`               | Item ID                         |
| `intacct_class`              | Class ID                        |
| `intacct_contract`           | Contract ID                     |
| `intacct_warehouse`          | Warehouse ID                    |
| `intacct_deferredrevaccount` | Deferred Revenue Account Number |
| `intacct_revrecstartdate`    | Rev Rec Start Date              |
| `intacct_revrecenddate`      | Rev Rec End Date                |
| `intacct_revrectemplate`     | Rev Rec Template ID             |

## Edge Cases

Here we have documented all of the limitations, nuances, and edge cases to be aware of when using the Intacct integration.

**Customers**

- Customers on Invoiced are mapped to customers on Intacct by the customer name and/or account number.When using bill to contacts as the customer source instead of customers, the customer name and details on Invoiced will match the bill to contact. This will result in multiple Invoiced customers for a single Intacct customer if there is more than one bill to contact used for that customer. The customer number on Invoiced will be auto-generated and will not match the one on Intacct because there are multiple Invoiced customers that could have the same account number. You will see the Intacct Customer Number in the customer profile in Invoiced. Payments received from bill to contacts in Invoiced will write to the Intacct Customer in Intacct.

**Invoices**

- Only invoices belonging to customers with an *Active* status will be imported into Invoiced.
- Only non-draft invoices on Invoiced will be posted to Intacct. Currently, updates to invoices are not posted to Intacct, unless the invoice was voided.
- Any modifications to invoices on Invoiced that originated from Intacct will not be posted to Intacct.

**Payments**

- If a payment includes credit note applications and cash received then this will create an A/R payment on Intacct and an apply credit transaction on Intacct for each credit note line item. If the payment is voided on Invoiced then only the A/R payment will be reversed on Intacct. You will need to reverse the credit note applications on Intacct after voiding the payment on Invoiced if the payment includes a cash receipt and credit note line items.

**API**

- If you are using the Invoiced API to modify custom fields, you must include the `intacct_entity` field and value in your request. Excluding it will remove it from the objects' metadata, resulting in accounting sync errors. &#x20;

## Troubleshooting

When a record fails to sync you will be able to see the error message in the *Reconciliation Errors* section in **Apps** → **Intacct** → **Accounting Sync**. Usually the error message will include the record identifier that failed and a detailed reason why it could not be synced. There is frequently a manual action required on your end. Once that is resolved, you can either ignore or retry the record.

Below we have documented commonly encountered errors and recommended resolutions. If you are still unable to sync data, please contact Invoiced Support for further assistance

### Finding Your Intacct Company ID

Your Intacct company ID is required to connect the integration. You can obtain your company ID from Intacct with these steps:

1. In Intacct, select Company > Setup > Company.
2. You should see an *ID* field. This is the company ID that you will use in the connection steps.

### 401 Error

:::BlockQuote
non-200 status code: 401
:::

We could not connect to Intacct using the credentials you provided. Please make sure the Intacct company ID, username, and password are correct.

### Numbering collision

:::BlockQuote
A transaction with the number 'XXX' already exists.
:::

If you see this error message then there is already a different invoice with the same number on Intacct. It is recommended that you choose a unique invoice # for the invoice that is being synced.

### Please provide a payment batch key

:::BlockQuote
Please provide a payment batch key.
:::

Change the Payments Summary frequency to either Daily or Monthly. To do so, complete the following steps in Intacct:

1. Hover over the Accounts Receivable tab
2. Click Configure Accounts Receivable
3. Scroll down to Summary Frequency in the Accounting Settings section
4. Change the Payments field to either Daily or Monthly and Save the changes
5. Retry the record

### DL02000001 error

When you see error code `DL02000001`, it means the integration attempted to retrieve a field that did not exist on an Intacct object. This could happen if you have modified an object definition to remove or modify a standard field that our integration requests or if you have configured the integration to pull in a custom field that does not exist on Intacct.

### Undeposited funds error with multi-currency

:::BlockQuote
You cannot make payment for foreign currency invoice for payment method "XXX" using Undeposited Fund Account.
:::

If you are in a multi-currency environment then you might see a `BL02000051` error code. You can only post a payment to an undeposited funds account if the payment is in your base currency. When you see this error the solution is to use a bank account (instead of an undeposited funds G/L account) for that currency/payment method combination in order for the payment to post to Intacct.

### XMLGW\_JPP0001 There are too many operations running for this company

This error is coming from Intacct. It means that too many processes are running simultaneously in your Intacct account. Select Retry on the error, and the record should sync.&#x20;


[title] Invoice Chasing
[path] Accounts Receivable/Smart Chasing/

Invoice Chasing allows you to automate chasing down payments for your invoices. With Invoice Chasing, you can develop global chasing cadences but also tailor the follow-up schedule for individual invoices. Invoice Chasing can be utilized in tandem with Customer Chasing to send account-level follow-ups and statements in addition to invoice-level distribution and follow-ups.&#x20;

## How It Works

Invoice Chasing works differently than Customer Chasing because chasing stops once an invoice is paid. In comparison, Customer Chasing operates on a loop as customers have new invoices added to their account, invoices age, and pay down their balances. Invoice Chasing is simpler because the schedule does not reset or continue after the invoice is paid in full or closed.

### Supported Channels

Invoice Chasing is omni-channel. You can distribute invoices and send reminders through the following communication channels:

- Sending an email
- Mailing a physical letter
- Sending a text message

### Schedules and Cadences

Each invoice can have its own unique chasing schedule. A chasing schedule is a sequence of steps that define when and how an invoice will be sent out. The schedule is followed until the invoice is paid or closed. Here are some of the types of scheduling triggers that you can use in a chasing schedule:

- Send when issued
- Send X days after issue date
- Send X days before due date
- Send X days after due date
- On a specific date
- Repeating reminder

In addition, you can create cadences that can contain a sequence of steps that are reused across your invoices. It is not required to setup cadences, but is useful if you find that you chase most or all of your invoices the same way. You can think of cadences as a template to quickly configure chasing for invoices.

### Invoice Chasing and Email Triggers

Invoice Chasing is incompatible with the first three email triggers, as these would send duplicate emails. You'll find these in **settings > emails > triggers**. If you use Invoiced Chasing, you should disable these triggers.&#x20;

::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/tTgkZp9sOaeK1s7IIO3Hi_screen-shot-2022-04-19-at-101017-am.png" size="48" width="389" height="210" position="center" showCaption="false"}

All other email triggers will continue functioning as usual.&#x20;

## Setup

### Scheduling an invoice for chasing

1. Go to the invoice you want to chase in the Invoiced web app.
2. Click **Enable invoice chasing** in the *Chasing&#x20;*&#x73;ection.
3. Enter in the sequence of steps you'd like to happen based on invoice aging or a specific date. Each step you will have to select a time of day and the channels through which the invoice should be delivered.
4. Click **Save&#x20;**&#x74;o schedule the invoice for chasing.

On the invoice detail screen you can see the calculated chasing schedule in the *Chasing&#x20;*&#x73;ection. If you hover over the steps you can see the date and time that the step is scheduled for.

### Invoice Cadences

Assigning cadences to individual invoices would be very tedious if you chase many of your invoices the same way. With invoice chasing, you can set it up once and apply the cadence to the invoices you want to chase. You can even make the cadence the default if you want all new invoices you create to be chased the same way.

You can create reusable cadences in **Settings&#x20;**→ **Chasing&#x20;**→ **Invoices**.

Assign a cadence to your existing invoices by using our spreadsheet importer. You'll find [instructions here](https://docs.invoiced.com/guides/importing-data#POYEN).&#x20;

If you modify an existing invoice cadence it will not affect invoices that it was previously applied to. The changes will only apply to future usages of the cadence.&#x20;

### Sending invoices to a different email contact list

It's common to have a need to distribute invoices to an email contact list that is different from the customer's default contact list. For example, you may want to send a copy of the invoice to the department within the customer's organization that purchased your service. When this happens Invoiced makes it easy to assign different email contact list to the invoice.

Here's how you can send an invoice to a different contact list:

1. Go to the invoice you want to chase in the Invoiced web app.
2. Click **Enable invoice chasing** or **Edit** in the *Chasing&#x20;*&#x73;ection.
3. Click the **Use customer email contacts&#x20;**&#x6F;ption.
4. Enter in the email addresses you want to receive follow ups about this invoice.
5. Click **Save**.

### Contact Roles

Invoiced has a feature known as Contact Roles that allows you to assign a role to customer contacts. The contact roles list is configured by your business and you can name the roles as anything that has a meaning to your business. For example, you might create different roles for Accounts Payable, Executives, Sales Representatives, or Customer Success Managers. A role might be for a contact outside of your organization, or even used by a person within your organization.

Here's how you can use contact roles:

1. You can create different contact roles in **Settings&#x20;**→ **Chasing&#x20;**→ **Contact Roles**.
2. Once you have created contact roles you can then assign them to contacts. By default, contacts are not assigned any role.
3. You can also have invoice or customer chasing steps apply only to customers with the matching contact role.

## Usage

### Monitoring chasing

Once an invoice is enabled for chasing you can check in on its progress as well as see exactly when future reminders are scheduled. In order to monitor an invoice's chasing progress you go to the invoice detail screen and look at the *Chasing&#x20;*&#x73;ection.

### Invoices with payment plans

Invoice Chasing does not treat invoices with payment plans differently. The invoice will be chased based on the invoice age, if you are using age-based steps. The payment plan is not taken into consideration when determining the invoice age. If you want to chase customers based on the age of installments then you must set up customer-level chasing.

## FAQs

### When do invoices get sent out?

Each chasing step specifies a date (usually relative to the invoice age) and a time of day. The time of day is granular by the hour. The invoice will be sent out on the date and time that is scheduled according to your company's time zone.

### What conditions have to be met for an invoice chasing schedule to take effect?

An invoice will be chased once it is issued and has an open balance. Chasing steps do not happen before the invoice date. If an invoice is dated in the future then chasing will not happen any sooner than the invoice date.

### When does an invoice stop being chased?

Chasing stops immediately once an invoice is paid in full or closed. You can also disable chasing for the invoice while the invoice is still open by clicking **Edit** on the *Chasing&#x20;*&#x73;ection and then **Disable Chasing**.

### What if a chasing schedule contains backdated steps?

If an invoice chasing schedule has steps in the past then they will be skipped. Only activities scheduled in the future at the time the scheduled is added to the invoice will be sent out, with one exception.

The send invoice when issued step is the one exception to this rule. Even if the invoice date is in the past, adding a send when issued step to an invoice chasing schedule will ensure that the invoice is sent out at least once. If the invoice was already sent or marked as sent before the send when issued step is scheduled, then the step would be skipped.

### What happens if a scheduled send fails?

Invoiced will deliver your invoice at the dates and times of day through the channels that you've selected (eg email or letter). In the event that the delivery cannot be completed through any of the channels selected then the step will be marked as failed. For example, if you attempt to send an invoice via email and the customer does not have an email address then you would see a send failure.

When sending fails it will mark the step as failed and will not be re-attempted. You can see the failed steps on the invoice detail screen and if necessary re-attempt sending or schedule another delivery attempt.

### How can I see what was sent to the customer?

You can see the communications that were sent to your customer as a result of the chasing schedule by going to the invoice detail screen and clicking on the **Conversation** tab. This screen includes all communications sent to the customer through any channel regarding that particular invoice, and includes any replies sent by the recipient.

### What email templates are used?

The email template that is used to send the invoice depends on the status of the invoice at the time it is sent.

- New Invoice - If the invoice has never been sent before
- Invoice Reminder - If the invoice HAS been sent before and is not past due
- Past Due Invoice - If the invoice has a past due status

### What happens if I modify a cadence?

If you modify a cadence then it will only apply to future invoices that the cadence is applied to. Modifying a cadence does not alter the chasing schedule of existing invoices.

Similarly, if you change the default cadence that will only apply to future invoices. Changing the default does not alter the chasing schedule of existing invoices.

## Limits

There are some limits to be aware of when setting up Invoice Chasing.

| **Description**                                           | **Limit** |
| --------------------------------------------------------- | --------- |
| Maximum steps in a cadence                                | 100       |
| Maximum invoice chasing cadences                          | 100       |
| Times that invoice can be sent through each channel daily | 1         |
| Maximum number of repeats for a repeating reminder step   | 10        |
| Repeating reminder steps per cadence                      | 1         |


[title] A/R Inbox
[path] Accounts Receivable/

The A/R Inbox is a shared mailbox with workflow tools purpose-built for accounts receivable and billing work. With the A/R Inbox you can both send and receive emails from customers without having to leave Invoiced. The A/R Inbox improves team collaboration and visibility into customer billing inquiries.

## Features

A/R Inbox gives you new capabilities in addition to the standard Invoiced email capabilities:

- Manage customer emails in a central place.
- Send non-transactional emails to any email address, with file attachment support.
- Receive incoming emails from customers, including messages sent from the customer portal.
- Allow any Invoiced user with appropriate permissions to view and send emails.
- Workflow tools to manage conversations: status (open/pending/closed), assignee, internal notes, and more.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/XL3j5k6Wxi0GC8DlCFgCy_ar-inbox.png "A/R Inbox")

## Setup

A/R Inbox is already enabled with most accounts depending on your plan. If your account has A/R Inbox then you will see this reflected with the **Inbox** page in the main navigation. There is no required configuration to start using A/R Inbox. Please keep following for recommended configuration to adopt best practices.

### Send email through your email domain

You can configure Invoiced to send email using your email server instead of the Invoiced email infrastructure. This typically results in better delivery rates to your customer's mailbox because emails are coming directly from you instead of a third party (Invoiced). This is not required to take advantage of A/R Inbox.

The [Emails Guide](https://docs.invoiced.com/guides/emails#sending-through-your-email-domain) has instructions on how to set this up.

### Create an email alias

If you use an alias for your billing emails, like [billing@mycompany.com](#) or [accountsreceivable@example.com](#), then you can set up an email forward to receive those emails in your A/R Inbox.

Steps to set up an email alias:

1. Go to **Settings** → **Emails** → **Delivery Settings** to get your A/R Inbox email address. This is automatically generated and unique to your company. It will end with `@invoicedmail.com`.
2. Create a mail forwarding rule in your email system to forward emails sent to the alias you wish to use (i.e. [billing@mycompany.com](#)) to your A/R Inbox email address (@invoicedmail.com).
3. Ensure that the reply to address is set to your alias in the Invoiced delivery settings.
4. Once you have created the forward it is recommended that you send a test email to your alias to make sure the forwarding is working correctly. If it is working you should see the email appear as an open email thread on the **Inbox** page of the Invoiced app.

## Usage

### Sending an email

You can send a transactional email, such as an invoice, account statement, or payment receipt, to a customer by following these steps.

1. Go to the customer or document you wish to send.
2. Click the send button (location varies based on document). Using an invoice as an example you click **Actions** → **Send Invoice**.
3. Each document will maintain its own thread. Sending an invoice will create a thread for that invoice number. Any subsequent reminders will be stored in that same thread. Similarly, sending an account statement or chasing notices will create a thread for that customer number.

You can send a non-transactional email to a customer by following these steps.

1. Go to the **Inbox** page and click the **+** button.
2. Draft your email.
3. Click **Send**. A new thread will be created with your message. Any replies will appear within that thread.

### Managing conversations

On the **Inbox** page you can see all customer conversations, resolved and unresolved. Conversations are grouped into the categories: *Open*, *Pending*, *Closed*, *All*, or *Sent*. The *Open*, *Pending*, *Closed*, and *All* categories are based on thread status. The *Sent* tab contains a list of all outgoing emails sent through  , including automated and non-automated notices.

If you click on a conversation from the **Inbox** page you can see all the emails in that conversation, use the workflow tools, view or create private notes, and send a reply.

You can also find conversations from the *Recent Emails* card on the customer detail screen. This will give you a list of recent conversations with the ability to see all email history for that customer.

### Changing Conversation Status

Invoiced will set the initial thread status depending on the context. Incoming emails set the thread status set to Open. The thread status is Open regardless of whether the incoming email is added to a new or existing thread.

Outgoing emails that cause a new thread to be created will set the thread status to be Closed. If an outgoing email is added to an existing thread then the thread status will be unchanged.

If you want to change the status of any thread then you can follow these steps.

1. Go to the email thread that you wish to change.
2. Click on the thread status in the top left to change the status to Open, Pending, or Closed. It is permitted to re-open a previously closed thread.

### Assigning Conversations

Conversations are not assigned to any individual by default. An unassigned conversation implies that anyone in the team can respond to the inquiry. You have the ability to assign the conversation to any Invoiced user (including yourself) to indicate who will be responsible for replying to and resolving the conversation.

If you want to assign a thread to an individual then you can follow these steps.

1. Go to the email thread that you wish to assign.
2. Click the assignee dropdown to assign the thread to any other user.

### Sending Replies

You have the ability to reply to any email within the Inbox by following these steps.

1. Open the conversation from the **Inbox** page or go to the *Conversation* tab of an invoice.
2. Scroll to the bottom of the page. There is a form to draft a new reply.
3. When drafting your reply you can change the recipients of the reply and add file attachments.

### Adding Internal Notes

You can create private notes visible only to Invoiced users on any email conversation by following these steps.

1. Open the conversation from the **Inbox** page or go to the *Conversation* tab of an invoice.
2. Scroll to the bottom of the page. On the form to draft a reply click the **Add Note** button.
3. You can now create a note that will be seen by yourself and other Invoiced team members. Any files that you attach to a note will only be visible to Invoiced users.

## Migrating to A/R Inbox

Newer accounts have A/R Inbox enabled out of the box. If your account was created prior to the availability of the A/R Inbox feature then you are using the legacy commenting system, which allows customers to leave comments on invoices in the customer portal. A/R Inbox retains this capability and adds many more.

It is recommended to switch to A/R Inbox to gain these benefits:

1. There is a new page (**Inbox**) where all customer communications can be seen. Previously comments were siloed on invoices.
2. You can now receive incoming customer emails from any source and not just the customer portal. You can receive emails at your A/R Inbox email address from accounts payable portals, billing questions sent over email, or if a customer replies to any transactional email (i.e. invoice or account statement) sent from Invoiced.
3. The A/R Inbox includes a threaded email client built into the Invoiced app. This means that emails are intelligently grouped into conversations based on customer account or invoice number. The grouping works as you would be accustomed to in any other email client.
4. There are workflow tools for collaborating on customer conversations, including internal notes, thread status (open/pending/closed), user assignment, and more.
5. You can send an email with any content to any email address. Previously you could only send transactions (i.e. invoices and account statements) to a customer or contact in the system. In addition to the previous sending capabilities, the A/R Inbox lets you send communications to any email address which makes it easier to loop in individuals which may not fit squarely into the customer contact concept.
6. The email in the inbox will show you if it was sent manually by a user and if the customer has opened the email. You'll find the user's name in parenthesis next to your business name, and a viewed badge next to the email date.&#x20;



::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/tMqpG6L8qSBkY-TDXe5ec_screen-shot-2022-04-27-at-100721-am.png" size="74" width="868" height="532" position="center" showCaption="false"}



### Performing the migration

The migration to A/R Inbox is easy. In order to migrate you go to **Settings** → **Emails** and click **Enable A/R Inbox**. It will only take a few seconds to complete.

### After the migration

Migrating to A/R Inbox will result in the below changes:

- There will be a new **Inbox** page in the left navigation where you can see customer communications. It will already be populated with recent email activity.
- The *Comments* tab on the invoice detail screen will be renamed to *Conversation*. This tab will now include comments AND all emails sent or received regarding that invoice.
- Email bounce notification rules will be removed because any bounced emails will appear as a new message in the relevant email thread instead of an activity log event.
- Emails sent will no longer appear in the activity log because all emails are saved to your new A/R Inbox and can be found on the **Inbox** page.

These will NOT change after the migration:

- Customer Experience - Customers can still ask questions when viewing invoices in the customer portal as before.
- Emails and comments from before you enabled A/R Inbox will remain visible on Invoiced.

If you wish to see emails sent to your primary billing email address (i.e. [billing@mycompany.com](#)) in your A/R Inbox, then it is recommended that you set up a mail forward from your company billing email address to your A/R Inbox email address. The "Create an email alias" section in the setup steps explains how to do this.


[title] Payment Migration Instructions for Proxy-Tokens
[path] Accounts Receivable/Payments/Payment Gateways/

Follow these steps to migrate your customer payment data securely:

1. **Contact Your Existing Payment Gateway**
   - Request that they initiate the migration of your payment sources to Flywire.
2. **Share the Required Files**
   - Attached are the payment source format template and encryption file.

Access the encryption file [here](https://secure-pgp.flywire.com/flywire.asc).

Payment source template:

::File{src="https://archbee-doc-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/cN98BcbqRzPDTbHBXcVub_migration-template.csv" label="migration_template.csv" isUploading="false"}

Provide these files to your current payment gateway to ensure a smooth migration.

3\. **Securely Send Encrypted Payment Data to Flywire**

- Your payment gateway should submit the encrypted data via the following link:
  [Flywire Secure Upload Portal](https://secure-pgp.flywire.com/flywire.asc)
- **Secure ID Format:** **\{tenant\_id}\_\{company name}.&#x20;***Note: This tenant ID is referenced in the email notification support sent to you.*



If you have any questions, feel free to reach out. 

[title] Cash Application
[path] Accounts Receivable/

The Cash Application feature in Invoiced is designed to streamline the process of matching customer payments to open invoices, reducing manual effort and improving accuracy. Powered by CashMatch AI, this feature intelligently automates the reconciliation of payments, whether they come through bank transfers, checks, or elsewhere.

CashMatch AI leverages machine learning to accurately pair incoming payments with the correct invoices, even when there are discrepancies in amounts or missing details. This helps businesses accelerate cash flow and minimize errors, leading to a more efficient and automated accounts receivable process.

## Bank Feed

Invoiced's Bank Feed feature simplifies payment reconciliation by allowing businesses to automatically pull transactions from their connected bank accounts via Plaid. This feature ensures that incoming payments are accurately matched with open invoices, reducing manual entry and errors. In addition to automatic syncing, users can also upload bank transactions manually through file uploads. With the Bank Feed feature, businesses can maintain real-time visibility into their financials and streamline the accounts receivable process, ensuring accurate and timely reconciliation of payments.

### Setting up a Bank Feed

1. In the Invoiced app, go to **Settings → Cash Application → Bank Accounts.**
2. Click **Add Bank Account**.
3. Select the institution you bank with. Complete the process to authorize Invoiced to retrieve transactions from your bank account.

Once your bank feed is established, new transactions that could be customer payments will be created automatically as unapplied payments. You will have to apply these payments to open items in order to complete the cash application process.

### Retrieving Historical Transactions

You can retrieve transactions from your bank feed prior to it being connected to Invoiced. This can be useful if you have payments you have not recorded in Invoiced yet that you want to import. In order to do this, click the **Import Historical Transactions&#x20;**&#x6F;n your bank feed connection on the *Bank Accounts&#x20;*&#x73;ettings page.

### Cash Application Rules

Cash application rules can tailor the cash application process for bank feed transactions to match your unique requirements. See the [Cash Application Rules](docId:6zf2yMwFp0NBe-JHyDnGL) documentation to learn more.

## Integrated Check Lockbox

The Integrated Check Lockbox, powered by Earth Class Mail, streamlines the handling of check payments by automating the entire process—from receiving to depositing. With this feature, checks are automatically received, scanned, and deposited, and payments are created directly in Invoiced. The scanned check images are also attached for easy reference, eliminating the need for manual data entry and speeding up the cash application process. This integration allows businesses to efficiently manage check payments while maintaining full visibility into their accounts receivable.

See the [Earth Class Mail](docId\:Pwhhc1C0qIVvSP5Hu7k4Y) documentation for more information on how to set up the integrated check lockbox.

## CashMatch AI

Invoiced's CashMatch AI feature is an advanced tool designed to automate and optimize the cash application process. Powered by artificial intelligence, CashMatch AI intelligently analyzes incoming payments and automatically matches them to open invoices. It handles complex scenarios like partial payments, overpayments, or missing details, significantly reducing the need for manual intervention. By streamlining the reconciliation process, CashMatch AI helps businesses save time, improve accuracy, and accelerate cash flow, making accounts receivable management more efficient.

When enabled, CashMatch AI will automatically make intelligent recommendations for incoming unapplied payments, including from bank feed and integrated check lockbox. Recommendations made by CashMatch AI will have a confidence rating expressed as a % (0 - 100). CashMatchAI will not automatically apply these recommendations to your payments. You will be able to review the matches suggested by Invoiced and with the click of a button approve or reject the match to complete the cash application process.

## Remittance Advice

Invoiced's Remittance Advice feature allows businesses to easily manage and track detailed payment information provided by customers. See the [Remittance Advice](docId\:yoJlp-zZrdlvL9GD8bI19) documentation to learn more.

## Recording Cash Receipts

If you are not using an integrated bank feed or check lockbox, then you also have the ability to record payments through the Invoiced app. Once you receive the payment you will need to record the payment through the dashboard in order to mark the invoice(s) as paid.

1. Go to the Invoiced app and proceed to the **Payments** section.
2. Click **Receive Payment**.
3. Select the customer that made the payment.
4. Apply the payment to any open items that are applicable for this payment.
5. Click **Create** to create your payment. Voilà, the invoice is now marked as paid.


[title] Estimates
[path] Accounts Receivable/

Estimates on Invoiced help you present quotes to customers, capture approval, and collect up-front deposits (prepayments).

There are numerous use cases where estimates on Invoiced can help:

- Tracking quotes
- Representing sales orders
- Prepayments / Deposits / Retainers
- Collecting approval from your customer to move forward with an order
- Calculating price estimates for a job or project

## Estimates vs. Invoices

On the surface estimates and invoices look very similar. Both types of documents have line items, a total, and a bill to line (among other things). However, they each serve a unique purpose. The key difference between estimates and invoices is that estimates are not considered an amount owed by your customer, whereas an invoice is a formal statement of a balance due.

Estimates generally are used at the start of a transaction. Typically an estimate will be presented before a sale has finished, or before any money is due. Invoices on the other hand are issued at the end of a transaction when money is owed by your customer.

## Enabling Estimates

The estimates addon is disabled by default. Follow these steps to enable estimates:

1. Go to **Settings** → **Accounts Receivable** in the Invoiced dashboard. Towards the bottom of the page you will find an *Enable Estimates* toggle.
2. Click on the toggle to enable estimates.

Your dashboard should grow a new *Estimates* tab. You are now ready to start creating estimates.

## Creating and Sending Estimates

Creating and sending estimates are nearly identical to the invoicing workflow. Follow these steps to issue estimates:

1. Click on the **Estimates** tab in the dashboard. Then click **New Estimate**.
2. Select or create a customer from the dropdown at the top of the screen.
3. Fill in the line items and any other details for your estimate.
4. Click **Save and Issue**.
5. You will be asked if you want to send the estimate. Click **Yes**.
6. Click **Send** in order to send off the estimate to your customer.

### Client Workflow - Approving Estimates

When your client receives the email from Invoiced they should see a **View Estimate** button in that email.

Clicking on the view button will take them to the client view where they can see all of the estimate information.

If everything looks right, your client will then click on the **Approve** button.

Your client will be taken to another page where they can agree to your terms, if present, and approve the estimate. Before your client can approve the estimate they will be required to enter in their initials. These initials along with the IP address / timestamp will be recorded on Invoiced.

The estimate is now approved. You should receive a notification about this. Once the project or order is complete you can then proceed with invoicing the client (see below).

## Estimate Deposits

Deposits allow you to collect an up-front payment when your customer is approving the estimate. The payment received will be added to the customer's credit balance. Then when the customer is invoiced, perhaps when the project is complete, this credit amount will be deducted from the invoice balance.

It's important to remember here that an estimate represents a balance before the sale is complete and before any money is owed.

### Adding Deposits to Estimates

Asking for a deposit payment on an estimate is fairly easy. It is just one extra step when creating your estimate.

1. Open up the new estimate screen and follow the instructions above. Fill in your estimate as you would normally.
2. Click on the **+ Deposit** button in the top-right.
3. You will be asked to enter in the amount of the deposit. You can enter in a fixed amount or percentage.
4. You can now save the estimate and send it to your customer.

### Client Workflow - Paying Estimate Deposits

When your customer views the estimate they will see a *$X deposit payment required* at the top of the screen. They would then click the **Approve** button.

On the approval page your customer will enter in their payment information, agree to your terms, and initial for approval.

When the customer clicks **Approve**, Invoiced will process the payment and credit the customer's account.

## Converting Estimates to Invoices

Whenever you are finished with the job or project on an estimate, you can quickly generate an invoice from that estimate. These steps outline the process.

1. Open the estimate in the dashboard.
2. Click **Convert to Invoice**. You will be taken to the invoice screen. The details from the estimate should be filled into the invoice. If you want to change any details on the invoice, for example if there were extra costs that need to be added to the bill, then simply click the **Edit** button in the top-right to modify the invoice.


[title] Customer Chasing
[path] Accounts Receivable/Smart Chasing/

Customer Chasing allows you to automate sending account-level collection notices and statements. With Customer Chasing, your customer only receives a single notice encompassing their entire account balance. It can be combined with Invoice Chasing to provide account-level and invoice-level coverage.

## How It Works

With Customer Chasing, you can set up your cadences once and then enroll customers in the appropriate cadence. A cadence contains the steps or collection actions you plan to take when customers have an open balance. Cadences describe how and when to follow up with your customers. Each communication can be personalized to the account to maximize its effectiveness.

A cadence consists of steps to be taken according to the account's age (the number of days since the oldest outstanding invoice date) or past due age (the number of days since the oldest outstanding invoice due date). If, at any point, the customer pays their balance in full, the cadence will reset.

Here is an example cadence:

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/3WyplDm7avP4UFiUPlwpn_chasing-cadence-example.png "Example Chasing Cadence")

According to the example above, a customer with a newly issued invoice would receive a letter and an email from Invoiced. As the account ages, the other actions would take place automatically. Most actions are entirely automated, except phone calls and escalations. These steps will assign a task to a team member.

### Supported Channels

Customer Chasing is omnichannel. You can send collection notices to customers through the following communication channels:

- Sending an email
- Mailing a physical letter
- Sending a text message
- Calling the customer
- Escalating the account internally

### Timing

One nifty aspect of chasing is that you get to choose when cadences run. For example, you could execute any scheduled activities at 7 a.m. daily. Or you may want to restrict this to specific days of the week or month. Chasing gives you the fine-grained control to ensure you reach your customers at optimal times.

Each cadence has its own timing settings that run at the time that you have specified. Any times given are based on your company time zone in **Settings → Business Profile**.

### Balance and Age Mechanics

Chasing attempts to collect the customer's entire account balance, with some exclusions noted below. This means that if a customer has multiple invoices outstanding, they only receive a single communication from the system about their outstanding balance at a time.

The customer account balance figure includes the following:

- All outstanding invoices that do not have AutoPay enabled or a payment plan attached
- All currently due installments that do not have AutoPay enabled (if on a payment plan)

The customer account age is the oldest open invoice or installment. The past due age is the oldest invoice or installment due date. If no due dates were used within a customer account, then any steps based on past due age will never execute.

## Setup

This document describes the latest version, Smart Chasing. If you are using the legacy chasing feature, then you can find the [docs here](https://docs.invoiced.com/guides/chasing-legacy).

### Building cadences

The first step to using chasing is to set up a cadence. You can build as many cadences as you'd like and assign them to customers based on how you would like them to be followed up.

1. Go to **Settings** → **Chasing** in the Invoiced application. Click **New Cadence.**
2. In the first step you will give your cadence an easily identifiable name, configure when chasing activities should occur, and optionally set a threshold if you do not want smaller balances to be chased (i.e. \< $100).
3. The second step is the most important part. This is where you build the schedule of chasing activities. Each step represents a single action that will happen. You specify the account age or past due age when that step should run. Depending on the action selected there will be different settings. For example, in the email step you can select which email template to use.
4. In the final step you can have chasing cadences automatically assigned to customers based on certain conditions, like payment terms or customer language. If you do not setup any assignment rules then the cadence must be assigned to customers.
5. Once you are ready click the **Save** button to create the cadence. You can come back and edit the cadence any time, however, once assigned to customers you cannot change the schedule.

### Contact Roles

Invoiced has a feature known as Contact Roles that allows you to assign a role to customer contacts. The contact roles list is configured by your business and you can name the roles as anything that has a meaning to your business. For example, you might create different roles for Accounts Payable, Executives, Sales Representatives, or Customer Success Managers. A role might be for a contact outside of your organization or even used by a person within your organization.

Here's how you can use contact roles:

1. You can create different contact roles in **Settings&#x20;**→ **Chasing&#x20;**→ **Contact Roles**.
2. Once you have created contact roles, you can then assign them to contacts. By default, contacts are not assigned any role.
3. You can also have invoice or customer chasing steps apply only to customers with the matching contact role.

## Usage

### Enrolling customers

Now that you have one or more cadences, you can start assigning them to customers.

You can assign cadences individually in the Collections tab on the customer page by clicking **Enable Chasing**:

You can also assign in bulk cadences to customers by using our spreadsheet importer. You'll find instructions here [here. ](https://docs.invoiced.com/guides/importing-data#H0Yuf)

### Monitoring chasing progress

You can see chasing progress across your entire customer list at a glance.

If you want to see the specifics of an individual account, then you can go to the **Collections** tab of that customer's account.

## Chasing Activities

Below, we describe each of the chasing actions supported, including emails, letters, text messages, phone calls, and escalations.

### Send an email

The email action allows you to send an email to customers. The email will have a "Pay Now" button directing the customer to the customer portal. You can optionally have all of the outstanding invoices attached to the email as a single PDF attachment.

These variables are available for use in your email templates:

- `{{customer_name}}`
- `{{customer_contact_name}}`
- `{{customer_number}}`
- `{{customer_address}}`
- `{{customer_payment_terms}}`
- `{{account_balance}}`
- `{{invoice_numbers}}`
- `{{invoice_dates}}`
- `{{invoice_due_dates}}`
- `{{{customer_portal_button}}}`

### Send a letter

The letter action will mail an Open Item statement to your customer via our [Lob integration](https://docs.invoiced.com/integrations/lob). In order to use this feature you must have a Lob account connected.

### Send a text message

The text message action will send a text message to the customer's text-message-enabled phone number on file (must be added as a contact to the customer). In order to use this feature, you must have a [Twilio account connected](https://docs.invoiced.com/integrations/twilio).

### Phone calls

The phone call action will add an item to your to-do list. You or another team member will be responsible for making the call. Our system makes it easy to keep track of any collection calls and record notes.

### Escalations

An escalation will flag an account for review. This can go on the team-wide to do list, or can escalate an account to a specific person and get added to their to do list.

## Chasing Installments

The chasing behavior changes slightly when an invoice has a payment plan. When the invoice is created, the account age refers to the invoice issue date, as usual. After each installment is paid, the account age uses the previous installment date instead. This allows you to create reminders for customers prior to their installment date.

In the following scenario, the customer would receive chasing step 1 on June 9th, 10 days after their May 30th payment date. 

::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/QozLB2fbMxXIxpu7KHs6S_screen-shot-2021-10-07-at-50737-pm.png" size="74" width="578" height="326" position="center" showCaption="false"}



::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/q-_B2t9pil-faD8k7T0en_image2.png" size="52" width="370" height="286" caption="Cadence" position="center" showCaption="true"}

If the customer misses their June 30th installment, they will receive the past due reminder as usual, on July 2nd. 

The chasing cadence will reset when the balance is paid in full. If an installment becomes past due, the next installment amount is included in the customer’s balance. If they pay the past due amount *and* the next installment, chasing will reset. 

In this scenario, if the customer pays the past due amount only, and their next installment is due on July 30th, they will not receive the chasing step 1 email on July 10th. Chasing will reset after they make their July 30th payment on time.

## Limits

| **Description**                   | **Limit** |
| --------------------------------- | --------- |
| Maximum steps in a cadence        | 100       |
| Maximum customer chasing cadences | 100       |

### &#xA;Assignment Rules

When assignment rules are set to Always, customers will be enrolled when they are updated.

Supported operations are as follows:

\== (equal)
!= (not equal)
\< (less than)
\\> (greater than)
\<= (less than or equal to)
\\>= (greater than or equal to)

[title] Users & Roles
[path] Setting Up Invoiced/

In this guide we are going to show you how the roles and permissions system works on Invoiced. The permissions system has been designed to give fine-grained control over who has access to your sensitive billing and financial information.

## Adding and Removing Users

Here we are going to walk through adding and removing users from your Invoiced account. Each company on Invoiced has its own set of users that have access to the account. It's important to note that companies are separate from users. This means it is possible for a user to belong to more than 1 company.

User permissions only apply to internal users that are accessing the Invoiced dashboard. The settings chosen here do not have any effect on access to the customer portal.

### Adding Users

1. Go to **Settings** → **Team** in the Invoiced application.
2. Click **Add User**.
3. Enter in the basic details of the person you would like to invite.
4. Select a role for the user and any customer restrictions.

You can add users in bulk by clicking on the dropdown arrow on the **Add User** button and clicking **Bulk Add**. This will allow you to invite multiple users to your account at once.

### Removing Users

If the time comes to remove a user from your Invoiced account this can easily be done by an administrator.

1. Go to **Settings** → **Team** in the Invoiced application.
2. Find the user you want to remove and click **Revoke Access** next to their name.
3. The user will immediately cease to have access to the account, even if they are already signed in.

### Switching Companies

If a user belongs to more than 1 company, they can easily switch between those various companies without signing out. It's important to keep in mind that no data or settings are shared between companies, even if you belong to multiple companies.

1. Click on your company name in the top-left of the application.
2. Click on the company you want to switch to.

## Roles

### Standard Roles

A role dictates what actions a user is allowed to take, for example, creating invoices, issuing a refund, and modifying item prices. Out of the box, Invoiced includes these roles:

- Read-Only - Nothing can be created, modified, or deleted in this role
- A/R Specialist - This role can only see accounts they created or manage
- Employee - Can perform all billing actions but cannot change any settings
- Administrator - Have full access to Invoiced

### Custom Roles

Customers on the Enterprise edition of Invoiced can create their own roles that have a different set of permissions than the standard roles. This can be used to provide more granular access to the various functions of Invoiced.

### Creating a Custom Role

1. Go to **Settings** → **Team** → **Roles** in the Invoiced application.
2. Click **New Role**.
3. Give your role a name and choose the permissions available to that role.
4. Click **Save**. You can now assign this role to users!

## Customer Restrictions

In addition to restricting what actions a user can take within Invoiced, you can also restrict the customer accounts they can access. Restrictions can be set on each user account to provide additional security and accommodate more advanced access requirements. This means users with the same role could potentially have access to a different set of customers, if needed, depending on their restrictions.

We support the following types of restrictions:

1. **No restrictions** - Users with this setting can see all customer accounts
2. **Restrict by custom field** - Users with this setting can only see customer accounts that have the specified custom field values.
3. **Restrict by account ownership** - Users with this setting can only see customer accounts where they are the account owner.

### Restrict by custom field

The **Restrict by custom field** restriction allows you to use any custom field on the customer level to dictate customer access for a user. For example, you might have a custom field to represent a territory, department, or entity. With custom field restrictions you can easily grant a user access to a list of territories, departments, entities, etc.

When you use this setting you can restrict a user to a list of values for up to 3 custom fields. Users will only be able to see customers that match one of the values in the list for each custom field. If a customer does not have the specified custom field values then this restricted user would not be able to see that customer in the dashboard.

In this example a user has access to all customers that have a **Territory** value of *North* or *East*.


[title] Business Central
[path] Integrations/Accounting Sync/

Invoiced integrates with Microsoft Dynamics 365 Business Central out of the box to extend the billing capabilities of Business Central. This document describes how to set up the integration and how it works in detail.

## Overview

The Business Central integration ships with the following capabilities:

- Bi-directional sync with Business Central
- New data from Business Central is synced once per hour
- Transactions generated on Invoiced post to Business Central in real-time
- Initial data sync

## Data Flow

| **Invoiced** | **Sync To Invoiced** | **Sync To Business Central** | **Business Central** |
| ------------ | -------------------- | ---------------------------- | -------------------- |
| Customer     | ←                    |                              | Customer             |
| Invoice      | ←                    |                              | Sales Invoice        |
| Credit Note  | ←                    |                              | Sales Credit Memo    |
| Payment      | ←                    | →                            | Payment              |

## Setup

1. In order to begin syncing with Business Central, first go to **Apps** → **Business Central**.
2. Click on **Install**. You will be redirected to Business Central. You will need to sign in to Business Central as an Administrator, if you are not already signed in.
3. Next you will be prompted to authorize Invoiced access to your Business Central company.  Click on **Authorize**.
4. You will be redirected back to Invoiced. Business Central is now connected! Now, you can configure the accounting sync in order to tell Invoiced how to map the data into your general ledger.
5. Configure the data flows you wish to enable and any account mappings. Click **Save**.

## Usage

Once the Business Central integration is enabled, it will sync new data automatically per the data flows that you have enabled.

Writing data from Invoiced to Business Central will sync instantly.

Reading data from Business Central to Invoiced, such as when a new invoice is available, will sync once per hour. You can see when the last sync happened on the **Accounting Sync** page. If you wish to run a one-off sync, you can click the **Sync Now** button.

### Initial Data Sync

The initial data sync feature allows you to sync data from your accounting system that was created before the integration was installed. You can run the initial data sync after you first install the integration to pick up previous transactions. The initial data sync is optional and is only performed if initiated by you.

The initial data sync can be started by going to the **Accounting Sync** page and clicking the **Initial Data Sync** button. Then you can select the type of data you want to sync and the date range for any transactions that will be synced.

You can only select a date range of at most 1 year. However, you can run multiple initial data syncs if you want to get transactions from a greater time period. Syncing more than 1,000 records at a time might not complete. If you need to sync a large volume of data, see [Importing Data](https://docs.invoiced.com/getting-started/importing-data) for instructions on how to import data through a spreadsheet.&#x20;

And here's a pro tip: if you're fetching invoices or credit notes from the past, don't forget to grab the payments, too. This way, you'll ensure your financial history is complete, with every balance perfectly in place.

Once the initial data sync is complete and you are satisfied with the results, we do not recommend using it again. The ongoing sync of the integration will keep your data up to date automatically.

### Handling Errors

On the **Accounting Sync** page, you will see a *Reconciliation Errors* table, which contains any sync errors that the integration encountered. Each error listed belongs to an individual record that could not be synced. The error message is listed next to each failed record. When a record fails to sync, it will not be re-attempted unless there is a new operation (i.e., updating the record) that triggers a new sync. You can retry syncing any failed record by clicking the **Retry** button, or you can ignore the error by clicking the **Ignore** button. Errors will not go away until they are successful or ignored.

### Deposit Account Mapping

You can map the accounts into which payments are deposited. You can create rules to choose the deposit account for each payment method and currency combination. The deposit account can be any general ledger account.

## Edge Cases

Here, we have documented all of the limitations, nuances, and edge cases to be aware of when using the Business Central integration.

### General

- Any changes to data on the system other than where it originated will be ignored and potentially overwritten. For example, if an invoice was created on Business Central then subsequent modifications to that invoice on Invoiced would not sync to Business Central. It is possible that those changes on Invoiced would be overwritten by a future sync.

### Payments

- Credit balances from Invoiced do not sync to Business Central.

## Troubleshooting

When a sync fails, you will be able to see the error message in the *Recent Syncs* section in **Apps** → **Business Central&#x20;**→ **Accounting Sync**. Normally, the error message will include the invoice # that failed and a detailed reason why it could not be synced. Oftentimes there is a manual action required on your end.

[title] Automation Recipes
[path] Untitled/



### When a promise-to-pay is created, I want chasing to be paused for the customer:

- Workflow Type: Promise to Pay
- Trigger: 
  - When: a specific event happens
  - Event: Invoice expected payment date is set
- Action: Set property value
  - Object Type: Customer
  - Property: Chase
  - Value: False

### When a promise-to-pay is broken, I want chasing to be enabled for the customer:

- Workflow Type: Promise to Pay
- Trigger: 
  - When: a specific event happens
  - Event: Promise to pay is broken
- Action: Set property value
  - Object Type: Customer
  - Property: Chase
  - Value: True

### When autopay has exhausted all payment attempts, autopay is disabled and a due date is assigned so that chasing emails start sending. 

- Workflow Type: Invoice
- Trigger: 
  - When: a specific event happens
  - Event: Invoice is updated
- Action: Condition
  - Object Type: Invoice
  - Formula: invoice.attempt\_count > 1 and invoice.balance > 0
    - Replace “1” with the maximum number of autopay retries in settings > accounts receivable
- Action: Set property value
  - Object Type: Invoice
  - Property: Autopay
  - Value: False
- Action: Copy property value
  - From Property: Date
  - To Object: Invoice
  - To Property: Due date



### When a draft invoice is created, I want to create a task for a user to review and ultimately issue that invoice. 

- Workflow Type: Invoice
- Trigger:
  - When: a specific event happens
  - Event: Invoice is created
- Action: Condition
  - Object Type: Invoice
  - Formula: invoice.draft == “true”
- Action: Create Object
  - Object Type: Task
  - Use text or variables to create a task according to your preferences

###

### When an invoice is created, I want the invoice custom field value to be set as the invoice title

- Workflow Type: Invoice
- Trigger:
  - When: a specific event happens
  - Event: Invoice is created
- Action: Copy property value
  - From Property: Custom field value
  - To Object: Invoice
  - To Property: Invoice Name

###

### When an invoice is created as a draft by a specific subscription, change the invoice status to issued (this is useful if you have subscriptions set to issue in draft mode but want certain subscriptions to automatically issue invoices).&#x20;

- Workflow Type: Invoice
- Trigger:
  - When: a specific event happens
  - Event: Invoice is created
- Action: Condition
  - Object Type: Invoice
  - Formula: invoice.subscription == subscription ID (number at the end of the subscription's URL)
- Action: Set Property Value
  - Object Type: Invoice&#x20;
  - Property: Draft
  - Value: Off

### &#x20;When an invoice is created with AutoPay disabled, I want to assign a chasing cadence to that invoice.&#x20;



- Workflow Type: Invoice
- Trigger:
  - When: a specific event happens
  - Event: Invoice is created
- Action: Condition
  - Object Type: Invoice
  - Formula: invoice.autopay == 0
- Action: Set Property Value
  - Object Type: Invoice&#x20;
  - Property: Chase
  - Value: On
- Action: Set Property Value
  - Object Type: Invoice&#x20;
  - Property: Chasing Cadence
  - Value: \{"cadence\_id": cadence\_id} (You can find the cadence\_id using the report builder. If you don't have access to the report builder, contact our support team for assistance)


[title] Sign Up Pages
[path] Subscription Billing/

Easily build hosted pages for onboarding new customers into subscription billing. Building a sign up page is super quick and requires no coding.

A sign up page will create a new customer on Invoiced, securely collect payment information, and subscribe the customer to the plan they select. All sign up pages will do the following when submitted:

1. Create a new customer profile
2. Subscribe the customer to a plan they select
3. Save the given credit card or bank account as the customer's payment method
4. Enroll the customer in [AutoPay](https://docs.invoiced.com/payments/autopay)

Sign up pages also have these optional capabilities:

- Collecting billing and/or shipping addresses
- Coupon codes
- Free trial periods
- [Calendar billing](https://docs.invoiced.com/subscription-billing#IWVSA)
- [Custom thank you pages](https://docs.invoiced.com/subscription-billing/sign-up-pages#FygyL)
- Customizable header text
- Terms of Service agreement

## Usage

Prerequisites:

1. You must have [credit card](https://docs.invoiced.com/payments/card) and/or [ACH](https://docs.invoiced.com/payments/ach) payments enabled.

### Building a sign up page

1. Go to **Settings** → **Sign Up Pages**.
2. Click **New Sign Up Page**.
3. Give your page a name and select all of the plans that should be available to customers signing up from this page. There are other options available, like asking for a billing or shipping address.

Note: You can now enable AutoPay only directly on the sign up page. Simply select the AutoPay only option on the creation of the sign up page.

Invoiced also provides other useful options when setting up sign up pages for your customers:

- **Allow Customers to Specify a Quantity:** This setting allows you to control if the customer can use the sign-up page and subscribe to more than one product or service amount.
- **Include a Free Trial:** This setting allows you to apply a free trial period to the beginning of the subscription. Simply enter the number of days you wish to add to the trial period.
- **Renew Subscriptions on a Specific Day of the Month:** This allows you to select a specific day of the month for the subscription to be billed on.
- **Allow Customers to Use Coupon Codes:** This setting allows the customer to enter a coupon code at the time of sign-up.

*Additional Options:*

- **Display custom text at the top of the page:** Do you have specific instructions you need to detail on the sign-up page? This section allows you to add text to the top of the page you would like your customers to see.
- **Require Sign Ups to accept my terms of service:** You can now require customers to accept your terms of service by entering a terms of service URL.
- **Send new Sign Ups to my Thank You page:** This setting allows you to send your customers to a custom thank you page after the customer completes the purchase. Simply enter a URL to the thank you page you would like the customer to be directed to.
- **Allow Sign Ups to purchase additional subscriptions:** This setting allows the customer to purchase other subscriptions you may offer.

You can choose to add any of these options to customize the sign up process.

1. Click **Save**.
2. Now that your page is created it will be hosted at a unique URL within your customer portal. You can click the **View** button next to your new page to open the URL in a new tab.

### Selling addons on sign up pages

You can provide an addon option for the customer to choose from on the sign up page. An addon can be a one time charge or an additional subscription option. The subscription option must match the original subscription plan interval selected.

You can allow the customer to specify a quantity of the addon and also note if it is a required option.

### Signing up customers

All the customer needs to get started is to visit the URL of your sign up page. Sign up pages are hosted on a public but obscured URL within your customer portal.

There are many ways that you can direct customers to your sign up page. You can link to it from your website or app, send it to customers directly over email or text message, or seamlessly redirect customers as part of your existing checkout flow.

**Want to assign a sign up page to a specific customer?&#x20;**&#xA;You can assign a customer a sign up page. This works well for scenarios like re-seller billing. Every time you would like to subscribe a new customer, you can go to a custom sign up page, or click the subscribe button in the customer portal. This allows the business to offer custom pricing to each re-seller as well. Customers with an assigned sign up page can use the direct debit payment method.

To access this feature:

**Customer** → **Actions** → **Assign Sign Up Page**

### Custom thank you pages

Sign up pages can redirect new customers to any web page after sign up instead of the default thank you page. What this means is that you can seamlessly send sign ups back to your own web site, to a form where a provisioning process can begin, or maybe a page where customers can download a digital good they've purchased.

### Thank You Query Parameters

Upon sign up your customer will be redirected to your thank you page using a GET request. The URL that we redirect your customer to will also have the newly created subscription and customer IDs in the query parameters. These values will allow you to pull in and verify the details of a purchase using the [Invoiced API](https://developer.invoiced.com/api).

- `invoiced_subscription_id`
- `invoiced_customer_id`

As an example, if your thank you URL is `https://dundermifflin.com/thanks` then after sign up your customer will be redirected to:

`https://dundermifflin.com/thanks?invoiced_subscription_id=1234&invoiced_customer_id=6789`

[title] Onboarding Guide
[path] Setting Up Invoiced/

In this guide we are going to walk you through the steps to onboard successfully onto Invoiced and go live. By the time you reach the go live phase you will be using Invoiced to send emails, automate processes, sync data, and perform transactions.

The recommended steps for going live are as follows:

1. Gather requirements
2. Sign up for sandbox account
3. Configure
4. Test
5. Training
6. Go Live

# Gather Requirements

A successful onboarding starts with a clear understanding of requirements. We recommend that you compile a list of requirements from all stakeholders before doing any implementation. The requirements will help you develop a better onboarding plan and recognize which features and settings need to be activated on Invoiced.

# Sandbox Environment

If you want to have an environment to test out Invoiced, then we first recommend creating a sandbox account at [https://sandbox.invoiced.com/signup](https://sandbox.invoiced.com/signup)The sandbox environment has several features to make testing Invoiced easier.

# Configuration

Now that we have a sandbox account and requirements understanding, the first place to start with your new Invoiced account is with configuration. If you have created a sandbox account then you can start your configuration there.

## Company Setup

- Fill in your Business Profile in **Settings** → **Business Profile&#x20;**&#x77;ith your mailing address, logo, and contact information visible to customers and vendors.
- In **Settings** → **Business Profile&#x20;**&#x63;onfigure your company reporting time zone, base currency, and enable multi-currency if needed. The base currency MUST be configured before you have any transactions.
- Configure any custom roles as needed in **Settings** → **Team** → **Roles**. See [Users & Roles](docId\:yBtMdl2K6BvxRWyoDGzWL)
- Add users that need access to Invoiced, assign roles and apply any customer restrictions in **Settings** → **Team**. See [Users & Roles](docId\:yBtMdl2K6BvxRWyoDGzWL)
- If using [Single Sign-On](docId\:wMkiJP9ByVtznkGLQ52NG) for your Invoiced users then configure the SAML integration.
- You can configure company-wide notifications in **Settings** → **Notifications** if you want to control which notifications your users receive. If you do not do this then users will be able to individually configure the notifications they receive to their own preferences.

## Enable Two-Factor Authentication (2FA)

1. Go to your **My Account&#x20;**&#x69;n the top right&#x20;
2. Select **Enable** for **Two-Factor Authentication**
3. Follow the setup wizard to configure your preferred 2FA method
4. Save recovery codes in a secure location

## Accounts Receivable Setup

- Enable [Payments](docId\:H7u6DgcPJ4NizPtzlqKoY) for the payment methods you plan to accept in **Settings** → **Payments**. If you want to test payments then we recommend using test mode for each payment method that you enable.
- Setup your aging ranges, auto-numbering sequences, and other common A/R settings in **Settings** → **Accounts Receivable**.
- Customize the default email templates in **Settings** → **Emails** → **Email Templates**. You can also create your own custom email templates. See [Emails](docId:_3G0NVVkxX7OELKQl5uPp).
- Enable the email triggers for scenarios in which you want an automated email to be sent in **Settings** → **Emails** → **Triggers**. See [Emails](docId:_3G0NVVkxX7OELKQl5uPp).
- If you want to send emails from your own email server then enter your SMTP credentials in **Settings** → **Emails** → **Delivery Settings**. See [Emails](docId:_3G0NVVkxX7OELKQl5uPp).
- Setup an email alias (e.g. accountsreceivable\@mycompany.com) for use with [A/R Inbox](docId:8yZL_ENKJmV1I2cwSo8cp). This is an email address that customers can use for billing and payment related questions.
- Configure [Smart Chasing](docId\:tTK5hqHuhyG6TJhjqbF8k) in **Settings** → **Chasing&#x20;**&#x69;f you want to send automated follow ups to customers with an open balance on a preset schedule. You can set up [Customer Chasing](docId:4W9tBIenDuE-E_T6b6qFP) and [Invoice Chasing](docId\:ppIHWw_lgMIhLG3JTI7SV) cadences.
- Configure your invoice, statement, and other transaction PDF templates in **Settings** → **Appearance**.
- If using the [Customer Portal](docId\:y5fxAbjL_PUwBLeQWwT6g) then you can tailor the behavior of it such as the types of payments that customers can make in **Settings** → **Customer Portal**. You can also set up a custom domain if you want to a fully white-labeled experience.
- Create any [Custom Fields](docId\:GiVsdhNP4LxuNUCwwunHh) in in **Settings** → **Custom Fields&#x20;**&#x74;hat you want to use for display on transactions, automation, filtering, or reporting purposes.
- If using the [Payment Instructions](docId:6WWqSCNhyfHsEUgNuDmql) feature, connect your bank feeds, set up a check lockbox, and create automation rules in **Settings** → **Cash Application**.
- If you are creating invoices through Invoiced then you will want to configure your items list, [Coupons](docId\:FHdopBQ6aebCO1_ulDlvd) (discounts), and [Sales Tax](docId\:elSvPW-0dObVHE1fwROYN) rules in the settings.
- Setup [Payment Terms](docId\:cAaH6f4X61yBk1a4O1LmN) and [Late Fees](docId\:PK9IuA-IXMRoyFZWLxSHN) to define expectations on when customers should pay, set up early payment discounts, and penalties for late payment.



## Integration Setup

- If you are using any integrations, then you can install it from the **Apps** page. You can also consult the Integrations documentation for detail on how to install a specific integration.
- If using the [Accounting Sync](docId\:i8-3yu6ng-r2dg0z19NX6) feature, then install the integration for your accounting system or ERP. Please keep in mind that the integrations sync data on a going-forward basis from the date of installation. If you want to have transactions from prior to the installation of the integration on Invoiced, then you should follow the steps in the Importing Data section.

## Importing Data

We recommend as a best practice starting to use Invoiced on a going-forward basis. However, we recognize that you may find value in bringing in open items, a customer list, and other historical data when onboarding into Invoiced.

Our import tools allow you to bring many kinds of data into Invoiced from external sources. The [Importing Data](docId\:cQhu6gZbwe_U3rmPCEaZh) guide will show you how to bring in customers, invoices, and more. The import tools are designed to handle a large volume of data.

## Multi-Entity

If you are using a multiple entity setup, then you will need to complete the setup steps for each Invoiced account that you have. This will allow you to have a configuration tailored to the needs of each entity.

# Test

Once you have satisfactorily completed the setup, then you are ready to test Invoiced. Our [Testing](docId:_B4MKJTbSwLmE3-WxODzZ) documentation has more information on how to conduct test transactions.

If you are using the sandbox environment, email sending is disabled by default. This is important to prevent customers from accidentally receiving an email from your test environment. We recommend leaving email sending disabled and instead validating the emails are sent meet your requirements on the **Inbox** page or **Conversation** tabs.

While in the testing phase, you should verify that all requirements are met. One way that this can be done by testing all of the transaction scenarios you expect in the normal course of business. As you are testing you might find gaps in your configuration. Any issues discovered during testing or feedback collected from stakeholders should be addressed. You can repeat cycles of configuration, testing, validation, and feedback multiple times until you are confident with the result or have met your requirements.

# Training

If you have any users that were not involved in the implementation then it can be beneficial to provide training to those users prior to going live. In the training phase you may wish to develop process documentation, collateral, and recordings to share how to operate Invoiced with a larger audience.

# Go Live

Once you have completed testing and training, you are now ready to go live! In order to go live, you simply need to start sending emails, collecting payments, and transacting in your production Invoiced account.

If you have setup a sandbox account then going live consists of applying the settings configured in your sandbox account to your production account, performing any data import, and then enabling any integrations.

## Post-Go Live

After you have transitioned to go live, you can use Invoiced Support for any issues or questions that may arise. Our support team is here to help you with any unexpected issues that you may encounter. We also recommend following our [Release Notes](docId\:JKOIzzUrSdhGOWirFa9k1) for keep up to date with new features and releases.

Happy Invoicing!

[title] Report Builder
[path] Reporting/

When you need to answer questions not covered by the standard reports then you can use the Report Builder to make a customer report. Our optional reporting addon gives even more advanced reporting capabilities to your account.

## Creating Reports

1. Go to **Reports** → **New Report** to start creating a new report.
2. Select the data type you want to build your report on. There are over 40 types of data available, like customers, invoices, line items, payments, and more.
3. Select the visualization type: Table, Chart, or Metric
4. Select the fields you want to display on your report. The fields available will change depending on the reporting data type that was selected.
5. Add optional filtering, grouping, and sorting conditions to your report.
6. You can create more than one section on your report. Each section can use a different reporting data type.
7. Click the **Generate** button to create your report. After viewing your generated report you have the ability to save it if you want to reuse it in the future.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/6q92me0nTC_t6--jdrHAj_screen-shot-2021-10-26-at-32428-pm.png "New Report in Report Builder")

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/vNdOtrzLSUQEujMcH4pL3_screen-shot-2021-10-26-at-32020-pm.png "Report Builder Field Selection")

### Multi-Entity Reports

You can create a multi-entity report by checking the "Multi-Entity" toggle when building your report. This will make data available from all entities which you have reporting access to.

### Modifying Standard Reports

You can modify most standard reports and any custom report using the Report Builder. In order to do this you must generate the report you want to customize and click the **Edit** button.

## Saved Reports

When you have a custom report that you want to save you can click the **Save** button to add it to your Saved Reports list. Once saved you can quickly recall that report.

## Scheduled Reports

You can schedule reports to be generated automatically every week or month and sent to you. Here's how you can schedule a report:

1. Go to your Saved Reports list. If you have not already you must save the report you want to schedule.
2. Click on the **Schedule** button next to the report you want to schedule.
3. Enter the frequency, day of week/month, and time of day that you want to receive the report.
4. Click the **Schedule** button and enter any required report parameters.
5. The system will send an email with the generated report each week or month.

Receiving scheduled reports does require an Invoiced user account to receive and view the report.

## Available Functions

The report builder supports the following functions.

### ABS

Return the absolute value of the argument.

Arguments: `num`

### AGE

Calculates the age in days of a date value.

Arguments: `date`, `[as_of_date]`

### AGE\_RANGE

Returns the return value if the age of a date is within a range of days.

Arguments: `date`, `return_value`, `lower_bound`, `upper_bound`, `[as_of_date]`

### AVG

Return the average value of the argument. This function performs an aggregation.

Arguments: `num`

### CASE

Specify one or more comparison values where if the value matches a comparison value then the corresponding result is returned. You can also specify a result if the value does not match any of the comparison values.

Arguments: `value`, `compare_value`, `result`, \[`compare_value`, `result` …], \[`else_result`]

### CEIL

Return the smallest integer value not less than the argument.

Arguments: `num`

### COUNT

Return a count of the number of rows returned. This function performs an aggregation.

Arguments: `[field]`

### COUNT\_DISTINCT

Return the count of a number of different values. This function performs an aggregation.

Arguments: `field`

### DATE\_ADD

Add time values (intervals) to a date value.

Arguments: `date`, `interval`, `unit`

### DATE\_FORMAT

Format date as specified. The table below shows the available specifiers.

Arguments: `date`, `format`

| **Specifier** | **Description**                                                                                  |
| ------------- | ------------------------------------------------------------------------------------------------ |
| %a            | Abbreviated weekday name (Sun..Sat)                                                              |
| %b            | Abbreviated month name (Jan..Dec)                                                                |
| %c            | Month, numeric (0..12)                                                                           |
| %D            | Day of the month with English suffix (0th, 1st, 2nd, 3rd, …)                                     |
| %d            | Day of the month, numeric (00..31)                                                               |
| %e            | Day of the month, numeric (0..31)                                                                |
| %H            | Hour (00..23)                                                                                    |
| %h            | Hour (01..12)                                                                                    |
| %I            | Hour (01..12)                                                                                    |
| %i            | Minutes, numeric (00..59)                                                                        |
| %j            | Day of year (001..366)                                                                           |
| %k            | Hour (0..23)                                                                                     |
| %l            | Hour (1..12)                                                                                     |
| %M            | Month name (January..December)                                                                   |
| %m            | Month, numeric (00..12)                                                                          |
| %p            | AM or PM                                                                                         |
| %r            | Time, 12-hour (hh\:mm\:ss followed by AM or PM)                                                  |
| %S            | Seconds (00..59)                                                                                 |
| %s            | Seconds (00..59)                                                                                 |
| %T            | Time, 24-hour (hh\:mm\:ss)                                                                       |
| %U            | Week (00..53), where Sunday is the first day of the week                                         |
| %u            | Week (00..53), where Monday is the first day of the week                                         |
| %V            | Week (01..53), where Sunday is the first day of the week                                         |
| %v            | Week (01..53), where Monday is the first day of the week                                         |
| %W            | Weekday name (Sunday..Saturday)                                                                  |
| %w            | Day of the week (0=Sunday..6=Saturday)                                                           |
| %X            | Year for the week where Sunday is the first day of the week, numeric, four digits; used with %V  |
| %x            | Year for the week, where Monday is the first day of the week, numeric, four digits; used with %v |
| %Y            | Year, numeric, four digits                                                                       |
| %y            | Year, numeric (two digits)                                                                       |
| %%            | A literal % character                                                                            |

### DATE\_SUB

Subtract a time value (interval) from a date.

Arguments: `date`, `interval`, `unit`

### DAY

Return the date formatted as YYYY-MM-DD.

Arguments: `date`

### FIRST\_VALUE

Value of argument from first row of window frame.

Arguments: `column`, `parent_reference` ,`reference`, `order_by`

### FLOOR

Return the largest integer value not greater than the argument.

Arguments: `num`

### FROM\_UNIXTIME

Format Unix timestamp as a date.

Arguments: `date`

### GREATEST

Return the largest argument.

Arguments: `num1`, `num2`, `...`

### IF

Returns the first result if the value is true, or else returns the second result if the value is false.

Arguments: `value`, `result_if_true`, `result_if_false`

### IFNULL

Returns the alternate value if the value is null.

Arguments: `column`, `alt_value`

### LAST\_VALUE

Value of argument from last row of window frame.

Arguments: `column`, `parent_reference` ,`reference`, `order_by`

### LEAST

Return the smallest argument.

Arguments: `num1`, `num2`, `...`

### LOWER

Return the argument in lowercase.

Arguments: `str`

### MAX

Return the maximum value. This function performs an aggregation.

Arguments: `num`

### MIN

Return the minimum value. This function performs an aggregation.

Arguments: `num`

### MONTH

Return the date formatted as YYYY-MM.

Arguments: `date`

### QUARTER

Return the date formatted as YYYYQX.

Arguments: `date`

### ROUND

Round the argument.

Arguments: `num`, `[num_decimals]`

### SUM

Return the sum. This function performs an aggregation.

Arguments: `num`

### UNIX\_TIMESTAMP

Return a Unix timestamp.

Arguments: `date`

### UPPER

Convert to uppercase.

Arguments: `str`

### WEEK

Return the date formatted as YYYY-WW.

Arguments: `date`

### YEAR

Return the date formatted as YYYY.

Arguments: `date`

## Limits

The reporting addon has these limits in place to preserve system resources. These limits are in addition to the standard reporting limits.

| **Description**                        | **Limit** |
| -------------------------------------- | --------- |
| Minimum number of sections on a report | 1         |
| Maximum number of sections on a report | 10        |
| Minimum number of columns              | 1         |
| Maximum number of columns              | 25        |
| Maximum number of joins                | 10        |
| Maximum number of filter conditions    | 10        |
| Maximum number of groupings            | 2         |
| Maximum number of sort conditions      | 3         |
| Maximum number of saved reports        | 100       |
| Maximum number of scheduled reports    | 50        |


[title] Avalara
[path] Integrations/

## Setup

Prior to setup in Invoiced, you will need to have already established an Avalara account and configured it for the jurisdictions where your business has nexus.

- Obtain your account ID and license key from the settings on Avalara.
- In the Invoiced application, go to **Apps** → **Avalara**. Click **Install**.
- Enter in your Avalara account ID and license key. Click **Validate** to connect to Avalara.
- Next, select the company code within Avalara that you would like to report sales tax into.

Once you've connected Avalara successfully there are additional settings that you can change to customize the behavior of the integration in **Apps** → **Avalara** → **Configuration**.

### Commit Mode

The **Commit Mode** setting controls how transactions are sent to Avalara. Here is an explanation of each commit mode:

- **Commit invoices and credit notes** - Sales invoices and return invoices are created and committed on Avalara automatically. Transactions will be included on your sales tax returns by default.
- **Don't commit invoices and credit notes** - Sales invoices and return invoices are created on Avalara, however, they will be created with an uncommitted status. In order to include these transactions on a sales tax return you must go into the Avalara application and commit them.
- **Disable Avalara tax calculation** - When used this will prevent the integration from performing any tax calculation for all new and existing transactions.

## How It Works

Once the integration is configured, you can start to benefit from instant, accurate tax calculations. The integration will generate tax in the following scenarios.

:::hint{type="info"}
You do not need to add the Avalara tax rate to the document. Save the document without a tax rate; the integration will add the tax for you.
:::

### Invoices

Creating an invoice will produce a sales invoice on Avalara. Modifying an invoice will produce the corresponding adjustment on Avalara, but only if you select the "Calculate Taxes" by clicking “Options” in the top right, when editing the invoice. Deleting an invoice will void the transaction on Avalara.

### Credit Notes

Creating a credit note will produce a return invoice on Avalara. The amounts on the return invoice will be negative to reverse the sales tax that was originally collected on the credited items.

Modifying a credit note will produce the corresponding adjustment on Avalara, but only if you select the "Calculate Taxes" by clicking “Options” in the top right, when editing the credit note. Deleting a credit note will void the transaction on Avalara.

### Estimates

Estimates will create tax as a sales order on Avalara in order to provide you and your customer with an accurate sales tax estimate. However, the sales tax on the estimate will not be filed on a tax return unless that estimate is converted into an invoice.

If you modify an estimate you must select the "Calculate Taxes" by clicking “Options” in the top right, to re-calculate taxes.

### Items and Plans

Avalara uses tax codes to identify products that have specific tax rates depending on where they are taxed. You can assign a tax code to an item in **Settings → Items**. If you're creating subscriptions, you can associate an item with a plan. This will apply the tax code on the item to the subscription invoices when they are created. *Please note:* if you bill something that is not set up as an item, it will bill at the highest tax rate based on the customer location.

## Limitations

Below are limitations and edge cases to be aware of when using the Avalara integration.

- Draft invoices will have sales tax calculated just like an issued invoice. This means that sales tax from a draft invoice would show up on a tax return.
- If you are importing invoices from an accounting system then sales tax will not be calculated on those imported invoices. This is also the case if you pass in calculate\_taxes=false through the API when creating invoices.
- Ad-hoc line items that do not have an associated item will not have an item code or tax code passed to Avalara. They will be taxed as the default tax code (personal tangible property).
- When you are connected to Avalara, you cannot go to **Settings → Sales Tax&#x20;**&#x74;o change tax codes. It is recommended to not apply Sales Tax in addition to Avalara.

## Errors

*The upcoming invoice could not be generated. Sales tax assessment failed: The address value was incomplete.*

This error indicates that the address is invalid or missing for either the customer **or** your business. Navigate to **Settings** **→** **Business Profile** to confirm that your business address is accurate. If you have entered a valid address in the customer profile, you'll see a green checkmark. Customer addresses are automatically verified using Google Maps.



::Image[]{src="https://lh7-us.googleusercontent.com/docsz/AD_4nXc8EK6eN-kQYY58OxMsPDh6b0DD1gbEnpKwjwadhocHH3Pbr4bdRpwyjR-Urce5gWfNZX4qHzGjVS6foRpDTWw-GVsUfdKoINyPVyY3t9566MmUlaoYrSJRSpxcBgDl2MazNAfnA9PhTr8aSDVfwItFK1RG?key=GRFDdP1wntq3L-dl60syZw" size="68" width="1088" height="890" position="center" showCaption="false"}








[title] Twilio
[path] Integrations/

Our Twilio integration enables you to send invoices and statements to customers via text messages.

## Setup

We are going to walk you through setting up the Twilio integration. This assumes you have already signed up for a Twilio account. If not, you may [sign up here](https://www.twilio.com/).

1. Get your Twilio SID and Auth Token from the Twilio dashboard.
2. Go to **Apps** → **Twilio** of the Invoiced application. Click **Connect**.
3. Enter in your Twilio SID and Auth Token. Click **Save**.
4. Click on **Configuration**.
5. Select a phone number in your account that you'd like to send text messages from. If you don't have one yet then click **Buy a new number**.
6. Click **Save** to enable the integration. You are now ready to start sending text messages!

## Sending a text message

You can send both account statements and individual invoices through a text message. In this tutorial we are going to walk you through it.

### Sending an invoice

1. Open up the invoice in the Invoiced application.
2. Click **Actions** → **Send Invoice**.
3. Click the **Text Message** option.
4. Add a mobile phone contact to your customer's account by clicking **Add Contact**. At a minimum you need to add a name, phone number, and check the *Can receive text messages* options.
5. Enter in your message, and remember to keep it short! Then click **Send**.

### Sending an account statement

1. Open up the customer's account in the Invoiced application.
2. Click **Actions** → **Generate Statement**.
3. Enter in the parameters for the statement and click **Send**.
4. Click the **Text Message** option.
5. Add a mobile phone contact to your customer's account by clicking **Add Contact**. At a minimum you need to add a name, phone number, and check the *Can receive text messages* options.
6. Enter in your message, and remember to keep it short! Then click **Send**.

## Limitations

Text messages have a few limitations in place to help you stay compliant with regulations.

- You can only send text messages between 8am and 9pm in your local time zone.
- If customers reply *STOP* or *UNSUBSCRIBE* then you will not be able to send them a message ([more details here](https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-)).
- You can only send a text message to the same phone number once per day, in order to prevent you from accidentally spamming your customers.
- Twilio is not a free service (although it is very affordable). Any text messages you send will incur a charge. See [Twilio's pricing](https://www.twilio.com/sms/pricing).


[title] Accounts Receivable
[path] /


[title] Xero
[path] Integrations/Accounting Sync/

Invoiced integrates with the Xero accounting system out of the box to supercharge the billing capabilities of Xero. This document describes how to set up the integration and how it works in detail.

## Overview

The Xero integration ships with the following capabilities:

- Bi-directional sync with Xero
- New data from Xero is synced once per hour
- Transactions generated on Invoiced post to Xero in real-time
- Initial data sync

## Data Flow

| **Invoiced**             | **Sync to Invoiced** | **Sync to Xero** | **Xero**       |
| ------------------------ | -------------------- | ---------------- | -------------- |
| Customer                 | ←                    | →                | Contact        |
| Contact                  | ←                    |                  | Contact Person |
| Invoice                  | ←                    | →                | Invoice        |
| Credit Note              | ←                    | →                | Credit Note    |
| Payment                  | ←                    | →                | Batch Payment  |
| Foreign Currency Payment | ←                    | →                | Payment        |
| Convenience Fee          |                      | →                | Invoice        |

## Setup

1. In order to begin syncing with Xero first go to **Apps** → **Xero**.
2. Click on **Connect to Xero**. You will be redirected to Xero. You will need to sign in to Xero, if you are not already signed in.
3. Next you will be prompted to authorize Invoiced access to your Xero organization.  Click on **Authorize**.
4. You will be redirected back to Invoiced. Xero is now connected! Now you can configure the accounting sync in order to tell Invoiced how to map the data into your general ledger.
5. Change the account mapping and other settings. Click **Save**

### Sync Convenience Fees from Invoiced to Xero

When the **Write** setting is enabled for convenience fees, the integration will create a convenience fee invoice in Xero. The convenience fee is applied to this invoice, so it does not create a credit in the accounting system. When this setting is enabled, you will be prompted to configure account mapping for the convenience fee invoice line item.&#x20;

## Usage

Once the Xero integration is enabled it will sync data automatically per the data flows that you have enabled.

Writing data from Invoiced to Xero will sync instantly.

Reading data from Xero to Invoiced, such as when a new invoice is available, will sync once per hour. You can see when the last sync happened on the **Accounting Sync** page. If you wish to run a one-off sync you can click the **Sync Now** button.

### Initial Data Sync

The initial data sync feature allows you to sync data from your accounting system that was created before the integration was installed. You can run the initial data sync after you first install the integration to pick up previous transactions. The initial data sync is optional and is only performed if initiated by you.

The initial data sync can be started by going to the **Accounting Sync** page and clicking the **Initial Data Sync** button. Then you can select the type of data you want to sync and the date range for any transactions that will be synced.

You can only select a date range of at most 1 year. However, you can run multiple initial data syncs if you want to get transactions from a greater time period. Syncing more than 1,000 records at a time might not complete. If you need to sync a large volume of data, see [Importing Data](https://docs.invoiced.com/getting-started/importing-data) for instructions on how to import data through a spreadsheet.&#x20;

And here's a pro tip: if you're fetching invoices or credit notes from the past, don't forget to grab the payments, too. This way, you'll ensure your financial history is complete, with every balance perfectly in place.

Once the initial data sync is complete and you are satisfied with the results, we do not recommend using it again. The ongoing sync of the integration will keep your data up to date automatically.

### Handling Errors

On the Accounting Sync page you will see a Reconciliation Errors table which contains any sync errors that the integration encountered. Each error listed belongs to individual record that could not be synced. The error message is listed next to each failed record. When a record fails to sync it will not be re-attempted unless there is a new operation (i.e. updating the record) that triggers a new sync. You can retry syncing any failed record by clicking the Retry button or you can ignore the error by clicking the Ignore button. Errors will not go away until they are successful or ignored.

### Field Mapping

We support setting several optional fields on Xero that do not have a standard Invoiced field. This can be useful if you are first creating invoices on Invoiced and posting to Xero.

These additional field mappings work when a record on Invoiced has a custom field with a specific ID that corresponds to a specific field on Xero. This gives you granular control of the data sent to Xero.

| **Object Type** | **Xero Field**         | **Description**                         |
| --------------- | ---------------------- | --------------------------------------- |
| Invoice         | `xero_lineamounttypes` | Amount type (eg exclusive or inclusive) |
| Line Item       | `xero_accountcode`     | Account Code                            |
| Line Item       | `xero_itemcode`        | Item Code                               |
| Line Item       | `xero_taxtype`         | Tax Rate                                |
| Line Item       | `xero_trackingname1`   | Tracking Category 1 Name                |
| Line Item       | `xero_trackingoption1` | Tracking Category 1 Value               |
| Line Item       | `xero_trackingname2`   | Tracking Category 2 Name                |
| Line Item       | `xero_trackingoption2` | Tracking Category 2 Value               |

### Tax Rate Mapping

If you are posting invoices from Invoiced to Xero then you have different options for how taxes are synced to Xero.

1. **Create sales tax line item (Recommended)**
   The invoice will have No Tax amounts and a line item will be created for sales tax pointed to the sales tax liability account you choose.
2. **Inherit account tax rate**
   The invoice will have Tax Exclusive amount and the sales account default tax rate will be selected.
3. **Match tax rate by name**
   The invoice will be created in tax exclusive mode. The tax rate selected on Xero will be matched based on the name of the tax rate on Invoiced. If no match is found then an error is generated.

### Deposit Account Mapping

You can map the bank accounts in which payments are deposited into in settings > accounting sync > configure > mapping. You can create rules to choose the deposit account for each payment method and currency combination. The deposit account can be any account that is enabled for payments.&#x20;

The deposit account in Xero must have an associated code, or Invoiced will not be able to map payments to it. You can view and add an account code in your chart of accounts in Xero.

## Edge Cases

Here we have documented all of the limitations, nuances, and edge cases to be aware of when using the Xero integration.

**General**

- Xero has a hard limit of 5,000 API operations per day. If you run into this rate limit then you will have to retry your sync operation later when the rate limit has been reset.
- Xero also has a hard limit of 60 API operations per minute. If you run into this rate limit then the sync will pause for a minute and retry the request. As a result you might find that operations to Xero are temporarily delayed. The integration can use fewer API calls by making sure that you have only enabled the data flows that you need and disable the remaining data flows.
-

**Invoices**

- Late fees will only sync to Xero if the invoice is originally created in Invoiced. Late fees applied in Invoiced will not sync to Xero if you create invoices in Xero.&#x20;
- Xero supports 2 and 4 digit precision on the invoice line item quantity. If you create invoices in Invoiced with 3 digit precision, you will see a rounding error. You can change your unit cost precision to 2 or 4 digits in Invoiced in **settings** > **accounts receivable**.

**Customers**

- It is not possible to reactivate a contact on Xero that was marked inactive on Invoiced. If a customer is marked as inactive on Invoiced and then later reactivated then you must separately restore it on Xero.

**Credit Notes**

- When a credit note is reapplied on Invoiced, the new application cannot be synced to Xero. You must also modify the credit note application on Xero.

**Payments**

- When a foreign currency payment from Invoiced is posted to Xero with multiple line items, it will post as multiple payments on Xero because Xero batch payments do not support multi-currency.

## FAQs

### How long will my Xero organization be connected for?

Your Xero organization will be connected until you click disconnect. If you ever find your account prematurely disconnected then you can reconnect any time in **Apps** → **Xero**.

### How do I disconnect my Xero organization?

Go to **Apps** → **Xero** and click **Delete App**.

### Which Xero organization is connected?

You will find the organization name below the Xero Settings.

### How are payments recorded on Xero handled?

Payments applied to invoices on Xero will be synced to Invoiced instantly. You must have auto-sync enabled for 2-way payment sync to work.

### What accounts does Invoiced create in my chart of accounts?

You can see the [accounts we create here](#).

### How are taxes carried over?

The integration adds all the taxes on the invoice from Invoiced and adds a tax line item to the corresponding Xero Invoice. You can disable this behavior with the **Add Tax Line Item** setting.

### What should I do when I changed my Xero organization?

If you have changed your Xero organization then you will need to reconnect your Xero account by clicking on **Reconnect** in the Xero integration settings.

### Are items synced from Invoiced to Xero?

Currently items from Invoiced are not imported into Xero.

### Which invoices from Invoiced are synced to Xero?

All non-draft invoices created after the installation of the integration will be synced. The associated customers and payments will also be synced.

If an invoice originated from Xero and was modified on Invoiced then it will not be synced, although any payments received will still be synced.

### What happens if the invoice does not have a due date?

Since Xero requires a due date on all invoices, if an invoice is missing a due date the due date will be set to the invoice date on Xero.

### Are the taxes on the synced invoices exclusive or inclusive?

Taxes synced to Xero are exclusive by default.

### Are tracking categories supported?

Yes, line item tracking categories can be synced to and from Xero.

## Troubleshooting

Below we have documented commonly encountered errors and recommended resolutions. If you are still unable to get your books synced then please contact Invoiced Support for further assistance.

### Unauthorized

:::BlockQuote
Unauthorized - Invalid authorization credentials.
:::

If you see this error message then our access token to your Xero account has expired. You need to go to **Settings** → **Xero** in order to reconnect Xero.

### Organisation is not subscribed to currency

:::BlockQuote
Organisation is not subscribed to currency XXX
:::

Invoiced supports 150+ currencies out of the box with no extra configuration needed. If you are seeing this error message then you need to tell Xero about each currency you operate with in **Settings** → **General Settings** → **Currencies**.

[title] Sales Tax
[path] Accounts Receivable/

Collecting sales tax can be complex, which is why Invoiced includes a tax calculation tool. The tax settings allow you to control the taxes that are applied to customer invoices. With an easy to use tool, tax rates and rules can be created within minutes to get your business up and running faster. Let's get started.

## Concepts

### Tax

Sales tax can be applied to invoice subtotals and line items. You can apply either one-off tax amounts or a tax rate (described below). It is recommended that you setup the tax you collect as tax rates, unless the tax calculation happened elsewhere.

### Tax Rates

A tax rate describes a type of sales tax that you collect. Generally you will have a different tax rate for each tax agency that you collect sales tax on behalf of. Tax rates can be expressed as a percentage (%) or fixed currency amount.

### Tax Inclusive vs Tax Exclusive

The default behavior for calculating tax is the tax exclusive mode. In tax exclusive mode, all prices are treated as not including tax and any tax assessed will be added to the subtotal.

On the other hand, tax inclusive pricing means that tax has already been priced into the amount billed to the customer. When tax inclusive pricing is used the subtotal will be adjusted down such that the subtotal + tax equal the original amount billed. When rounding happens with tax inclusive pricing, it will always be rounded in favor of the tax agency.

### Tax Rules

Tax rules will automatically apply tax rates to invoices based on your customer's location. We currently support tax rules that are based on the country and/or state. Tax rules will add tax rates based on the customer's shipping address, or if not available, based on the customer's billing address.

## Setup

### Creating a Tax Rate

1. Go to **Settings** → **Taxes** in the Invoiced dashboard.
2. Click **New Tax Rate**.

### Creating a Tax Rule

If you want to automate when tax rates are applied based on where your customers is located you can then create a tax rule.

1. Go to **Settings** → **Taxes** → **Tax Rules** in the Invoiced dashboard.
2. Click **New Tax Rule**.

## Usage

After creating the tax rates and tax rules, they are now ready to be used. If you have setup tax rules then tax will be added automatically to the applicable customers.

If you are setting up a customer, item, or invoice you can also add tax rates and amounts by pressing the **+ Tax** button.

Once selected, the rate will be added. If you are creating an invoice the tax will be added to the balance due.

### Adding Custom Tax Amounts

Invoiced also allows for custom tax amounts to be applied on an invoice. Simply press the **+ Tax** button on the invoice and select **Add Custom Tax**. This will add a field to the invoice to manually enter an arbitrary tax amount.

### Need a more complicated sales tax setup?

If you have more challenging sales tax requirements then you should consider our [Avalara integration](https://docs.invoiced.com/integrations/avalara). It was designed to automate sales tax compliance for companies with nexus in many places or handling more tricky tax scenarios (i.e. U.S. sales tax).


[title] Integration Studio
[path] Integrations/

Integration Studio is a self-service integration tool that lets you connect Invoiced to thousands of external applications and automate workflows between them. Built on the Workato enterprise automation platform, Integration Studio enables you to create custom integrations beyond our native accounting syncs.

# How It Works

Integration Studio is powered by Workato and embedded directly within Invoiced. You can connect to external systems via connectors and build recipes to automate workflows between Invoiced and these systems — no separate Workato account required.

**Key integrations include:&#x20;**&#x53;alesforce, NetSuite, Sage Intacct, Microsoft Dynamics, and thousands more.

# Integration Studio vs. Automation Studio

**Integration Studio&#x20;**&#x63;onnects Invoiced to external apps (ERP, CRM, etc.)

**Automation Studio&#x20;**&#x68;andles workflows inside Invoiced only (reminders, status changes)

# Why Workato?

Integration Studio leverages Workato, a leading enterprise integration platform (iPaaS) that offers:

**Extensive connectivity** — Access 1,200+ pre-built connectors for SaaS applications, databases, ERPs, and legacy systems. If you can't find the desired system, you can try using the HTTP connector or review available community connectors.

**No-code/low-code automation** — Business users can set up integrations using drag-and-drop. IT may assist with credentials or security reviews, but no coding is required.

**Enterprise-grade security** — Connections use OAuth authentication, encrypted connections, and audit logging. Integration Studio is SOC compliant.

**Real-time or scheduled sync** — Many integrations are event-triggered and sync data in real time rather than on batch schedules.

# Key Concepts

**Recipes** are automated workflows that connect Invoiced with other applications. Each recipe includes a trigger (the event that starts the workflow) and one or more actions (the steps that execute when triggered). You can build recipes by choosing the trigger, connectors, actions, and run schedules. Recipes can be saved, tested, edited, and versioned.

**Connectors** authorize your recipes to interact with applications like Invoiced, Salesforce, NetSuite, and more. Once configured, connectors can be reused across multiple recipes.

**Jobs** represent individual executions of a recipe. Each time a trigger event occurs, a job is created and processed through your recipe's actions.

## Permissions Required

**Admin users** have access to Integration Studio by default.

**Non-admin users** must be assigned the **Integrations Manager** role by an Admin to access Integration Studio. Multiple users can be granted access.

Access is role-based and managed by your account Admin. Access can be restricted or granted at any time.

## Accessing Integration Studio

1. Log in to your Invoiced account
2. Go to **Settings → Apps → Integration Studio**

You're now in the Integration Studio where you can view your projects, connectors, and recipes.

# Setup

### Creating a Project

After accessing Integration Studio, create a new project and name it to organize your connectors and recipes.

### Creating Connections

Create a connection to external systems by clicking **Create → Connection** and searching for the desired system. Enter your credentials to connect to the system.

Once created, connections are reusable across all recipes in your project.

### Creating Recipes

Create recipes (automated workflows) by clicking **Create → Recipe**. Build your recipe by choosing the trigger, connectors, actions, and run schedules. You can save, test recipes, and view test jobs before activating them.

# Monitoring and Errors

### Failure Notifications

Error notifications are automatically generated for failed or stopped recipes. Failures can be monitored via RecipeOps.

### Viewing Failure Logs

When failures occur, you can find which jobs failed and why:

1. Go to **Settings → Apps → Integration Studio → Recipes**
2. View the list of recipes with a summary of successful or failed jobs
3. Click on a recipe and go to the **Jobs** section
4. Click on a failed job to see the reason for failure and the history log

Recipes may stop automatically after repeated failures to prevent data issues. Review the error log to understand why.

## Getting Started Resources

- *Getting Started with Workato*
- *Workato Academy*
- *Workato Community Forum*
- *Workato Community Connectors*
- *Workato Documentation*

## Frequently Asked Questions

### Access

**Q: Why can't I see Integration Studio?**

Integration Studio is an add-on product. If you've purchased it and still don't see it, you may need the Integrations Manager role. Ask your account Admin to update your permissions, then log out and back in.

**Q: Can multiple users manage integrations?**

Yes. Multiple users can be granted access by assigning the Integrations Manager role.

### Setup & Usage

**Q: Do I need a separate Workato account?**

No. Integration Studio uses embedded Workato and is accessed entirely within Invoiced.

**Q: Can integrations be tested before going live?**

Yes. Recipes can be configured, tested, and activated when ready.

**Q: Can I modify or delete integrations later?**

Yes. You fully control your recipes and connections.

### Connectors

**Q: What if my connector exists but is missing a specific action?**

Some connectors may have limitations. Contact support to review whether the limitation is expected or needs escalation.

**Q: Can Integration Studio connect to custom or internal systems?**

Possibly, using the HTTP/API connector.

### Native Integrations

**Q: Are native Invoiced integrations replaced by Integration Studio?**

No. Native integrations remain available. Integration Studio complements them for connecting to additional systems.

## Need Help?

If you need assistance with Integration Studio, contact our support team at *support\@invoiced.com*.

When reporting an issue, please provide:

- Recipe name
- Error message or job ID
- When the issue started
- Any recent changes























###


[title] Customer Portal
[path] Accounts Receivable/

The customer portal is where your customers go to manage all things billing with respect to your business. It allows your customers to complete most billing tasks in a self-service portal, like submitting payments, viewing invoices, subscribing to services, and more. The customer portal is provided by Invoiced with no coding experience or extra setup required. Customers can access the customer portal at anytime and from anywhere with an internet connection.

Within your customer portal, customers will be able to:

- Submit payments
- View and search all invoices, estimates, credit notes, and payments
- Update contact information
- Enroll in AutoPay and manage payment methods
- Approve payment plans
- Approve estimates and pay up-front deposits
- Apply open credits
- Make advance payments
- Purchase subscriptions
- Ask billing-related questions
- Download supporting documentation on their account, invoices, estimates, and credit notes (file attachments)

All of these features can be enabled or disabled as desired in order to better suit your needs.

## Tour of the Customer Portal

### My Account

The *My Account* page is the home page of your customer portal. It provides a tailored summary of a customer's account. The screen will show different contextual information depending on the state of the account, such as if they are a subscriber or have an active payment plan

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/e20BVSZw4PCMfYmsr4c4n_billing-portal.png "Customer Portal My Account")

### Activity

The *Activity* page allows your customers to see a list of invoices, estimates, credit notes, and payments. Each transaction type can be filtered (date range and status) and searched (i.e. by invoice #). Customers can select multiple invoices to pay with a single payment here. They can also export transactions to PDF, CSV, and XML.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/ifoCTg9EqicVOmcRFDuYu_customer-portal-activity.png "Customer Portal Activity")

### Documents

The *Documents* page allows your clients to view and download files attached to their customer profile. This tab is only shown if the customer has at least one file attachment.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/jMT03lzuLfDEtyCrL9ckN_screen-shot-2022-06-06-at-103943.png "Customer Portal Documents")

### Statements

The *Statements* page allows your clients to see a current Balance Forward or Open Item statement. They have the option to see up to 3 years of previous Balance Forward statements

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/Y18V4o50FQrNg-RFMVSgT_customer-portal-statements.png "Customer Portal Statements")

### Billing Details

The *Billing Details* page allows your customer to update contact information, like email address and billing address

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/poHu8if1HRXPEdoyF_lWd_customer-portal-billing-details.png "Customer Portal Billing Details")

## Setup

The customer portal works out of the box with no configuration. You can customize the behavior of the customer portal in **Settings** → **Customer Portal**. Here are some behaviors that can be customized:

- Partial payments
- Advance payments
- AutoPay enrollment
- Modifying contact information
- Applying open credits
- Customer portal subdomain

## Usage

Your customer portal is hosted at its own subdomain that you can locate in **Settings** → **Customer Portal**. Any customer facing activity happens on this domain, like viewing invoices or paying. Customers can also access the customer portal by going directly to this URL.

### System Requirements

We strive to make the customer portal work with as many web browsers as possible, although a recently updated web browser is recommended. In order to access the full functionality, the visitor's browser must be configured with:

- Javascript enabled
- Cookies enabled
- TLS v1.2 or above

### Messaging

Customers can ask questions about specific invoices in the customer portal. This allows customers to ask questions regarding the information on the invoice as well as resolve any billing issues that might arise.

Invoiced will also flag the customer's invoice if a message is sent and alert the users on the Account profile. This gives the business an easy way to filter out invoices that need attention. Once a response is sent, the invoice can be marked as resolved.

### Signing In Customers

Customers must be signed in to access the customer portal. We've made signing in as simple as possible while remaining highly secure. There are a few ways that customers can sign in:

1. *Email sign in*
   Customers can visit your customer portal (yourusername.invoiced.com) directly and request a sign in link by simply entering in their email address. We will then immediately send them an email with a *Sign In* button.
   The email address provided must match a main email address or attached contact for a customer profile in your Invoiced account. We will only send a sign in link to email addresses matching this criteria.
2. *Magic Links*
   Magic Links allow you to securely generate URLs to sign customers into the customer portal. This allows you to transparently sign users into the customer portal from your app or website without requiring an additional login step. We only recommend generating a sign in link for users that you have already authenticated through your own login system.
   Magic Links can be generate through the [API](https://docs.invoiced.com/dev/single-sign-on) or through the dashboard by opening a customer profile and clicking *Actions* → *Generate Sign In Link*.
3. *Sign up pages*
   We temporarily sign in any customers when they sign up from a sign up page. On the thank you page there is a *Go to My Account* button.
4. *Manage Subscription links*
   We temporarily sign in customers when they click on the *Manage Subscription* button on subscription email notices. This allows customers to easily update payment information.

### Require Authentication

The out of the box behavior of the customer portal is that anyone with an invoice link can view and pay the invoice. While invoice links are private and sufficiently random to prevent guessing, if you desire even more privacy and security then you can require that invoice viewers sign in first before viewing the invoice.

When the **Require Authentication** setting is enabled, only a user which is signed into Invoiced or signed into your customer portal via a magic link will be able to view the invoice. If an invoice viewer has not signed in yet then they will be prompted to sign in first. Once the viewer is signed in they will be able to access and pay the invoice.

:::hint{type="info"}
The Require Authentication setting applies to all customer portal pages and not just invoices. This includes estimates, credit notes, account statements, and more.
:::

## Advanced Configuration

The customer portal can be tailored to fit more unique use cases with these advanced configuration options. It is recommended that a web developer handles these modifications.

### Google Analytics Tracking

You can include the Google Analytics tracking script on all customer portal and sign up pages. This enables you to track usage and adoption of the customer portal.

Setting up Google Analytics:

1. Go to **Settings** → **Customer Portal** in the Invoiced application.
2. Enter in your Google Analytics tracking ID (i.e. UA-XXXX-Y)
3. Click **Save**.

Going forward you will start to see activity in Google Analytics for customer portal traffic.

### Custom Domain

You can use your own domain name in the customer portal (i.e. billing.mycompany.com) instead of using the invoiced.com subdomain. Custom domains can be setup in **Settings** → **Customer Portal** → **Setup Custom Domain**. The only requirement is that you can create a CNAME DNS record to `custom.invoiced.com` for your domain name.

### Custom CSS and Javascript

You can modify the look and feel of the customer portal by providing your own CSS stylesheet. The stylesheet will be added in addition to the default stylesheet on all customer portal pages. This can be setup in **Settings** → **Customer Portal** → **Custom CSS**.

You also add Javascript to the customer portal in **Settings** → **Customer Portal** → **Custom Javascript**.

### Content Security Policy

The customer portal has a content security policy in place to provide additional security to customers. This content security policy means that content from third-party sources cannot be loaded with custom CSS and Javascript without additional configuration.

In order to load third party sources you must add the URL in **Settings** → **Customer Portal** → **CSP Trusted Sites** and select how it will be used (i.e. image, script, stylesheet). Once you add a trusted site you can use that external source in your CSS and Javascript.

### Customer Single-Sign On

You can use your own authentication system with the customer portal instead of using the email-based sign in method. This feature allows you to sign in users into the Invoiced customer portal using your app or website's existing authentication system. The way that it works is that any customer portal visitor that is not signed in will first be redirected to the sign in page URL that you provide. Once you have authenticated the customer you will then redirect them using a [magic link](https://docs.invoiced.com/dev/single-sign-on). Your customer will then land in the customer portal, signed in as the correct user.

This feature can be enabled in **Settings** → **Customer Portal** → **Customer Portal Authentication**.

:::hint{type="info"}
Only customers that visit your customer portal's home page (eg. https\://mycompany.invoiced.com/) will be redirected to your authentication system. If a customer clicks on a view invoice or view statement link then they will be signed into the customer portal automatically without first redirecting to your authentication system.
:::


[title] Security
[path] /


[title] Testing
[path] Setting Up Invoiced/

Our sandbox environment provides a sandbox to implement Invoiced, perform quality assurance (QA), and develop integrations.

## Sandbox

You can sign up for a free sandbox account at [https://sandbox.invoiced.com/signup](https://sandbox.invoiced.com/signup).&#x20;

In the sandbox you will be able to test out workflows and integrations you are building on Invoiced. The sandbox is identical to our production environment with the exception that it **does not perform any live charges** to credit cards or bank accounts. Sandbox accounts are entirely separate from your production account in order to keep testing isolated.

### Data Storage and Rate Limiting

**You should not depend on any data stored in the sandbox.** Test data is not guaranteed to be retained, and we might periodically clean out old test data to preserve system resources. Generally this would happen after data has been stale for months.

The sandbox is intented to allow you to build and test without restrictions, however, we could enforce rate limiting or data caps to prevent abuse. In normal scenarios you should never bump into these.

### Clearing data

You can clear all the data in your test account in **Settings** → **Developers** with the **Delete all test data** button. This will clear out data such as customers, invoices, and subscriptions while retaining your settings.

### Payments

When using test mode for payments, you can use the payment information below to simulate payments in various scenarios.

### Credit Card

| Brand                | Number                |
| -------------------- | --------------------- |
| Visa                 | `4242 4242 4242 4242` |
| Visa                 | `4111 1111 1111 1111` |
| Visa (debit)         | `4000 0566 5566 5556` |
| MasterCard           | `5454 5454 5454 5454` |
| MasterCard           | `2223 0031 2200 3222` |
| MasterCard (debit)   | `5200 8282 8282 8210` |
| MasterCard (prepaid) | `5105 1051 0510 5100` |
| American Express     | `3782 822463 10005`   |
| Discover             | `6011 1111 1111 1117` |
| Diners Club          | `3056 9300 0902 0004` |
| Diners Club          | `3056 9309 0259 04`   |
| JCB                  | `3530 1113 3330 0000` |
| UnionPay             | `6200 0000 0000 0005` |

### Credit Card Failures

| Brand | Number                | Description                    |
| ----- | --------------------- | ------------------------------ |
| Visa  | `4000 0000 0000 0069` | Declined charge                |
| Visa  | `4000 0000 0000 0127` | Vaulting or charging will fail |

### ACH

Any valid account and routing number will produce a successful charge.

| Routing Number | Account Number |
| -------------- | -------------- |
| `110000000`    | `123456789`    |

### Deposit Verification Amounts

If you are testing the micro-deposit verification flow you can use `$0.35` and `$0.45` as the amounts. Any other amounts will fail.

### ACH Failures

| Routing Number | Account Number | Description                    |
| -------------- | -------------- | ------------------------------ |
| `123123123`    | `123123456`    | Declined charge                |
| `123123123`    | `123123893`    | Pending charge, will succeed   |
| `123123123`    | `000222222227` | Pending charge, will fail      |
| `123123123`    | `000111111116` | Vaulting or charging will fail |

### SEPA

| IBAN                     | Description       |
| ------------------------ | ----------------- |
| `DE89370400440532013000` | Successful charge |
| `DE62370400440532013001` | Failed charge     |

### API

In order to access the sandbox through the API you must use the `api.sandbox.invoiced.com` endpoint. All of our official client libraries have support for the sandbox built in. You simply pass in your sandbox API key and `true` as the second argument when instantiating a new API client, i.e. `Invoiced::Client.new("{YOUR_SANDBOX_API_KEY}", true)`.


[title] Card
[path] Accounts Receivable/Payments/

Accepting credit cards and debit cards is currently the quickest and easiest way to get paid by your customers.

## Setup

Follow these steps to start accepting card payments in minutes.

1. From the Invoiced dashboard go to **Settings** → **Payments**.
2. Click **Setup** on the *Card* payment method.
3. Complete the application process to set up a new payment processing account.
4. Once you have completed the setup process your customers can now pay you with a credit or debit card!

## Client Workflow

Paying with credit or debit card is fairly straightforward for customers. When a customer is viewing a payment form they would select **Credit Card** as the payment method. Then they will enter in their card information and click pay. We will give them a receipt immediately following a successful payment

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/fg42gn1fEH9SYmA9QDSTY_pay-invoice-credit-card.png "Pay Invoice with Credit Card")

## Virtual Terminal

Like customers, internal Invoiced users have the ability to apply a payment to an account with a card payment on an invoice. Whether a customer has saved a card payment method on file or has provided the user with the information, easily access the virtual terminal for payments by navigating to the invoice and selecting receive payment -> charge. From there, you can select the saved card or enter a new card for use.

## AutoPay

Card payments work with [AutoPay](https://docs.invoiced.com/payments/autopay) when your customer has a saved card on file.

## Convenience Fees

Card payments support charging customers a convenience fee when they pay with a debit or credit card. A convenience fee is a % markup added to the final transaction amount. You may charge up to 4% convenience fees.

### Where convenience fees are applied

When enabled, convenience fees add a % fee to the total payment amount of any credit or debit card charge. Convenience fees are not applied towards outstanding balances.

- Payments in the customer portal, including invoice payments, estimate deposits, and sign up pages
- AutoPay payments
- Payments made through Virtual Terminal

### Setup

Convenience fees can be setup with the following instructions:

1. From the Invoiced dashboard go to **Settings** → **Payments**.
2. Click **Configure** on the *Card* payment method.
3. In the **Convenience Fee** field enter the % you wish to charge, up to 4%.
4. Click **Save** to go live with convenience fees.

When a customer makes a payment with a credit or debit card they will see a warning on the payment page about the convenience fee.

If you need to disable convenience fees for a specific customer, then you are able to do disable convenience fees by turning the setting off in the edit customer screen.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/tmT9kzSFax7Xzyx93UjUl_credit-card-convenience-fee.png "Credit Card Convenience Fee")






[title] Untitled
[path] /


[title] GoCardless
[path] Accounts Receivable/Payments/

This document details how to connect GoCardless to Invoiced for accepting direct debit payments and how our integration works.

## Capabilities

The GoCardless integration on Invoiced supports the following features:

| Capability                                             | Country     | Supported |
| ------------------------------------------------------ | ----------- | --------- |
| [ACH payments](https://docs.invoiced.com/payments/ach) | U.S.        | ✓         |
| PAD                                                    | Canada      | ✓         |
| Bacs debits                                            | UK          | ✓         |
| SEPA debits                                            | EU          | ✓         |
| BECS debits                                            | Australia   | ✓         |
| PaymentsNZ                                             | New Zealand | ✓         |
| Autogiro                                               | Sweden      | ✓         |
| Betalingsservice                                       | Denmark     | ✓         |
| Vaulting bank accounts                                 |             | ✓         |
| [AutoPay](https://docs.invoiced.com/payments/autopay)  |             | ✓         |
| Multi-currency                                         |             | ✓         |
| Refunds                                                |             | ✓         |
| Borderless payments                                    |             | ✓         |

## Setup

Connecting GoCardless is a straightforward process. Follow these steps to start accepting payments through GoCardless in minutes. If you do not already have a GoCardless account then you will be able to create one during the setup process.

1. From the Invoiced dashboard go to **Settings** → **Payments**.
2. Click **Setup** on the *Direct Debit* payment method. Then click **Connect With GoCardless**. You will be taken to GoCardless' website where you can sign into your GoCardless account and grant Invoiced access.
3. If you are signing up for a GoCardless account for the first time then you will need to provide additional information about your business to activate your account. After you've connected and verified your GoCardless account then the direct debit payment method will be enabled. You are ready to begin accepting payments.

## Client Workflow

### Paying an invoice

Paying with direct debit has been made as straightforward as possible for customers. When a customer goes to make their first payment they must first accept the direct debit mandate. In order to kick off the process your customer will click **Setup Direct Debit**.



**NOTE: Your GoCardless account might have a dollar limit for individual direct debit transactions, i.e. customers cannot submit payments greater than £5k. You can see the  by country and payment scheme.**

Once the direct debit mandate has been completed then your customer can now use their bank account to pay any invoice from you by returning to the invoice payment page and selecting their bank account as the payment method.



New direct debit payments will have a pending status. Direct debit payments generally take 4-5 business days to complete. Once the transaction succeeds or fails we will update the invoice and send the customer a receipt. In the event of a failure we will create an event in the dashboard.

Subsequent payments from the same customer will not require the customer to go complete another mandate.

## Withdrawing Money

You just received your first payment through GoCardless. Congrats! Now what?

GoCardless sweeps successful payments to your bank account automatically on each business day. Once you have received a payment with GoCardless the payout generally takes 2 business days after the customer's charge has completed.

### Payment Settlement

Direct debit payments are not instant like credit card payments. A direct debit payment will be marked as pending until the transaction has cleared. A direct debit payment is not considered paid until the transaction has cleared, which may take up to 4-5 business days. Once we have received acknowledgement of the status of the payment it will either be marked as successful or failed.

## Support

Need help with your GoCardless account? You can get help by contacting GoCardless Support.


[title] Late Fees
[path] Accounts Receivable/

Late fees can be used to provide an incentive for customers to not pay you late, less they incur a penalty. Generally late fees are not used for the revenue they produce, but as a situation your customer would want to avoid. In some cases late fees might be useful as a bargaining chip with a past due customer. In exchange for an immediate payment you might agree to waive the late fee.

You can configure Invoiced to assess late fees on your invoices for you automatically.

## Setting up late fees

These instructions can be followed to setup late fees on Invoiced for all of your past due invoices:

1. Go to **Settings** → **Late Fees**.
2. Click **New Schedule**.
3. Enter in the details of your late fee, including the name of your schedule, late fee amount (flat amount or %), make it recurring, grace period, and start date. You can assess a percent or flat amount for a late fee. The recurring setting will allow you to assess the same late fee repeatedly every Y days. The grace period will assess a late fee X days after the invoice is past due. The start date will only assess late fees for invoices with a date on or after the start date.
4. Click **Create** to save your late fee schedule.

## Assigning late fee schedules

A new late fee schedule is not assigned to any customers. Next you must assign the late fee schedule to customers in order to start assessing late fees.

These are the different methods to assign late fee schedules:

- Edit a customer to enable late fees in the customer options.
- On the late fee settings page you can assign to select customers.
- Make the late fee schedule the default. It will be automatically assigned to any new customers from that point forward.
- Assign the late fee schedule to customers through a spreadsheet import. The "Late Fee Schedule" field requires the name of the schedule. You'll find step-by-step instructions [here](https://docs.invoiced.com/guides/importing-data#aw-enroll-customers-in-a-late-fee-schedule).&#x20;

## Assessing late fees

Late fees will be assessed on your past due invoices automatically as they age beyond the past due grace period. Any assessed late fees will be added as a separate line item with a type equal to `late_fee`. A recurring late fee will add a new line item for each date interval when a late fee is assessed.

If you have a recurring percentage late fee, the calculation used is compounding. A flat amount late fee will be non-compounding because it is not a percentage.

### Late fee criteria

Only invoices that meet the below criteria will have late fees applied:

1. The customer has a late fee schedule assigned.
2. The invoice has late fees enabled.
3. The invoice date is ON or AFTER the late fee schedule start date.
4. The invoice has a specific due date and is not due on receipt.
5. The invoice number of days past due is equal to or greater than the grace period.
6. The invoice is not in draft, paid, voided, or marked as bad debt.
7. The invoice does not have a payment plan attached.

### Assessing late fees immediately

The process that assesses late fees runs once per day. If you want to assess late fees sooner then you can follow these steps:

1. Go to **Settings** → **Late Fees**.
2. Click **Run Now** next to the schedule you want to assess late fees for.

### Disabling late fees for an invoice

Invoices have late fees enabled by default. You can disable late fees for a specific invoice by following these instructions:

1. Open the invoice you want to have disabled late fees.
2. Click the **Edit** button.
3. Click the **Options** button.
4. Turn off the *Late Fees* toggle.

If you wish to remove an already assessed late fee for a particular invoice, then you can edit the invoice and remove the line item.

## Late Fees and Accounting Integrations

All Invoiced accounting integrations require users to make edits in the platform where they created the record. The original invoice is changed when the late fee process adds a late fee to an invoice. This update to the invoice will only sync to the accounting system if a user created the invoice in Invoiced.

If your team creates invoices in the accounting system and syncs them to Invoiced, late fees applied in Invoiced will not sync back to the accounting system.

[title] Surcharging
[path] Accounts Receivable/

Surcharging lets you pass part of the cost of accepting credit cards along to your payer. When it's enabled on your account, a surcharge is automatically added at checkout on eligible card payments. You receive the full invoice amount; the surcharge covers the cost of accepting the card payment.

## How It Works

When a payer chooses to pay an eligible invoice with a credit card, a surcharge is calculated automatically and added to the total amount (within the maximum allowed by card network and regulatory rules). The payer sees the surcharge, and the new total, before completing payment. You receive the full invoice amount; the surcharge is never deducted from your payout.

If your agreement includes a platform fee, it is billed to you separately on its own invoice, listed as Surcharging Platform Fee. The platform fee is not deducted from your payout.

Debit and prepaid cards are never surcharged. If a payer uses one of these payment options, they pay the invoice amount with no surcharge added.

## Usage

### What Your Payer Sees

When a payer pays an eligible invoice by credit card in the Customer Portal, the payment summary shows the invoice amount, the surcharge, and the total, along with a disclosure text.&#x20;

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/_sXcCXgcF5Ero3dBmQJZl_upload.png)

If the payer pays with a debit or prepaid card instead, no surcharge is shown, and they only pay the invoice amount.

### What You See in Your Payout Report in Invoiced

When you open a payout, the Associated Transactions table includes a Surcharge column that shows the surcharge amount your payer paid on each transaction.

For a surcharged credit card payment, Fee shows $0.00 and Net equals the invoice amount, so you receive the full invoice amount for that payment.

For a payment that is not surcharged, such as a debit or prepaid card payment, Surcharge shows N/A. Your standard processing fee is deducted as usual, and Net shows the amount minus the fee.

The surcharge covers the cost of accepting the card and is not part of your payout total. Any platform fee is billed separately and does not appear in your payouts.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/vIN6JkXsugwynSU5g3YPF_image.png)

### Enabling Surcharging

Surcharging is set up and configured on your account by the Invoiced team. If you would like to enable surcharging, or have a question about your rate, reach out to your client success manager.

### Availability

Surcharging is currently available for accounts in the US and Canada. It applies to credit and commercial cards; debit and prepaid cards are excluded. It is not available for accounts based in Connecticut, Maine, Puerto Rico, Quebec, or Massachusetts.

****

[title] Payments
[path] Accounts Payable/

Invoiced simplifies the payment process for approved bills with a variety of payment methods tailored to meet diverse business needs. Once a bill receives approval within your Invoiced account, executing a payment is straightforward and secure, with supported options including Credit Card, Vendor Pay (ACH), ACH Payment File, Print Check, and ECheck.

### Initiating a Payment

1. **Payment Submission**: Click on the `Pay` button for an approved bill. The payment methods available to you are determined by the vendor's preferences and settings within Invoiced.
2. **Selecting a Payment Method**: Depending on the vendor’s configuration, you may choose from existing payment sources linked to your account or add a new one for the transaction.
3. **Payment Confirmation**: Upon submitting your payment, the transaction will be recorded in your account, and the status of the bill will update to `Paid`, indicating the completion of the payment process.

### Marking a Bill as Paid

- **Manual Status Update**: For payments made outside the Invoiced platform, you have the option to manually mark a bill as `Paid`. This feature is particularly useful for tracking payments that are processed externally.
- **Vendor Notification**: It’s important to note that manually marking a bill as paid does not automatically update the invoice status in the vendor's account. Vendors are encouraged to record the payment on their end in Invoiced to ensure accurate and up-to-date financial records.

### Key Points to Remember

- **Payment Options**: The availability of payment methods is based on the vendor's chosen settings, offering flexibility to accommodate different payment preferences and requirements.
- **External Payments**: For payments not processed through Invoiced, manually updating the bill status helps maintain organized financial records within your account, although communication with the vendor is necessary to ensure they also update the payment status on their side.

Invoiced offers a streamlined and versatile payment solution for businesses, facilitating efficient transactions with a range of payment methods to suit every need. Whether paying directly through the platform or updating the status of external payments, Invoiced ensures a smooth and transparent financial workflow.

[title] Untitled
[path] /


[title] Importing Data
[path] Setting Up Invoiced/

It's easy to import customers, invoices, payments, and items into Invoiced. This guide shows you how to import data into Invoiced using our importer.

## Supported Data Types and Operations

| **Object**                | **Create** | **Update** | **Upsert** | **Delete** | **Void** |
| ------------------------- | ---------- | ---------- | ---------- | ---------- | -------- |
| Customer                  | ✓          | ✓          | ✓          | ✓          | **—**    |
| Contact                   | ✓          | ✓          | ✓          | ✓          | **—**    |
| Invoice                   | ✓          | ✓          | ✓          | ✓          | ✓        |
| Estimate                  | ✓          | ✓          | ✓          | ✓          | ✓        |
| Credit Note               | ✓          | ✓          | ✓          | ✓          | ✓        |
| Payment                   | ✓          | ✓          | ✓          | **—**      | ✓        |
| Subscription              | ✓          | **—**      | **—**      | **—**      | **—**    |
| Item                      | ✓          | ✓          | ✓          | ✓          | **—**    |
| Plan                      | ✓          | ✓          | ✓          | ✓          | **—**    |
| Tax Rate                  | ✓          | ✓          | ✓          | ✓          | **—**    |
| Coupon                    | ✓          | ✓          | ✓          | ✓          | **—**    |
| Credit Balance Adjustment | ✓          | **—**      | **—**      | **—**      | **—**    |
| Pending Line Item         | ✓          | **—**      | **—**      | **—**      | **—**    |
| Payment Source            | ✓          | **—**      | **—**      | **—**      | **—**    |
| Vendor                    | ✓          | ✓          | ✓          | ✓          | **—**    |
| Bill                      | ✓          | ✓          | ✓          | **—**      | ✓        |
| Vendor Credit             | ✓          | ✓          | ✓          | **—**      | ✓        |
| Vendor Payment            | ✓          | ✓          | ✓          | **—**      | ✓        |

## Usage

The import tool works by letting you build a spreadsheet where each line contains a record that you want to import. Once you have your spreadsheet ready to go, you simply copy the contents and paste them into the textbox on the new import page. In the next step, we will help you match each column to a field in Invoiced. Finally, just click the button to start the import and we will notify you when it's finished.

We recommend using the first line to specify which field on Invoiced the line matches up with. It's not required, however, it makes the import process quicker. You can get the field names from the sample import templates below for the type of record you are trying to import. Invoiced will automatically match the columns after the first step.

A few notes:

- All dates must be entered using this format: `Aug-06-2015`
- Any unused, optional fields can be removed or left blank
- You can view a history of successful or failed imports on the Recent Imports page. If there's a failure in your import we will show you each line that failed with a reason or error message.
  - Sandbox: [https://app.sandbox.invoiced.com/imports](https://app.sandbox.invoiced.com/imports)
  - Production: [https://app.sandbox.invoiced.com/imports](https://app.invoiced.com/imports)
- All importers support setting metadata on imported objects for any columns with a title following the pattern: `metadata.key` where `key` is the name of the metadata property. For example, you could add a `sales-rep` metadata value by adding a `metadata.sales-rep` column.

### Identifying Existing Records

Each data type that supports updates, deletes, or voids has its own criteria for matching a row being imported to an existing record. These are criteria for matching existing records for each data type:

- Customers - name OR account number
- Contacts - customer identifier AND contact name
- Invoices, Estimates, and Credit Notes - document number
- Payments - customer identifier AND reference number
- Items, Plans, Tax Rates, Coupons - identifier property

### Web App vs ERP Connect

Data can be imported from a spreadsheet into the web app or through [ERP Connect](docId\:XGzQIQ0b99TP1FLtaA6xX). ERP Connect is a desktop application that allows you to securely transmit data between your ERP platform (and other software) and Invoiced. Any import capability in the web app is identically available in ERP Connect.

### Customers

Steps to import Customers:

1. Go to the **Customers** section
2. Click the **Import** link to the right of the page
3. Build your import spreadsheet, select all the contents, and paste it into the textbox. [Download](https://app.invoiced.com/files/customers-import-template.xlsx) a sample customers import template to get started.
4. Click **Go to Next Step**
5. Match each column to a field in Invoiced. You can also select **Skip** in the dropdown list to skip a column in your spreadsheet.
6. Click **Start Import**. That's it. We will notify you when the import finishes.

**Tips**

- The only required field is the customer's name.
- Customers are identified by their account number first, and if that's not given then customers are identified by their name. If a customer with the same account number (or name if account # was not given) has already been created in Invoiced then a new customer will not be created.
- You can supply an account #, or if left empty, we will generate one for you.
- The *Type* field can only be one of `person`, `company`, or blank.

### Enroll Customers in a Chasing Cadence

::File{src="https://archbee-doc-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/NCXaBlMgWzFyF2NFuDjT3_customerupdatechasing.csv" label="CustomerUpdateChasing.csv" uploadAsPublic="true"}

You can use this template and our spreadsheet importer to enroll your customers in a new chasing cadence.&#x20;

- In the template, the **"chasing\_cadence"** field should include the new chasing cadence name.&#x20;
- The **"next\_chase\_step"** field should include the name of the first chasing step in your cadence. When chasing runs, it will skip steps to execute the action according to the customer's current aging.
- Enter "1" in the Chase column to enable chasing for the customer.

1. Copy the data from your template and paste it into our customer importer here: [https://app.invoiced.com/imports/new/spreadsheet/customer](https://app.invoiced.com/imports/new/spreadsheet/customer)
2. Set the default operation to **Update**.
3. Click on **Go to Next Step**.
4. Click **Start Import**. That's it. We will notify you when the import finishes.

### Enroll Customers in a Late Fee Schedule

1. Select **Customers** on the left side of the page. Selec&#x74;**&#x20;Export > Customers** in the top right corner.
2. Delete all fields in your spreadsheet except the **customer name** or **number**. Add a column titled **Late Fee Schedule**. The rows in this column should have the name of your late fee schedule.
3. In Invoiced, go back to the customer page. Select **Import > Customers > Spreadsheet.**
4. Copy the data from your spreadsheet and paste it into the importer field.&#x20;
5. Set the Default Operation to **Update**.
6. Select **Go to Next Step**
7. Make sure the column headers match the rows correctly. If they don't match, your spreadsheet may have a formatting issue.
8. Select **Start**.

### Contacts

1\. Go to the **Customers** page.
2\. Click the **Import** button in the top right corner.
3\. Select the Contacts option.
4\. Build your import spreadsheet, select and copy the text, and paste it into the textbox. [Download](https://app.invoiced.com/files/contacts-import-template.xlsx) a sample Contacts import template to get started.
5\. Select **Go to Next Step.**
6\. Match each column to a field in Invoiced. You can also select **Skip** in the dropdown list to skip a column in your spreadsheet.&#x20;
7\. Select **Start Import**.&#x20;

### Invoices

Steps to import Invoices:

1. Go to the **Invoices** page
2. Click the **Import** button in the top right corner
3. Build your import spreadsheet, select all the contents, and paste it into the textbox. [Download](https://app.invoiced.com/files/invoices-import-template.xlsx) a sample invoices import template to get started.
4. Click **Go to Next Step**
5. Match each column to a field in Invoiced. You can also select **Skip** in the dropdown list to skip a column in your spreadsheet.
6. Click **Start Import**. That's it. We will notify you when the import finishes.

**Tips**

- The only required field is one of *Customer Name*, *Customer ID*, or *Account #*.
- Each line represents an invoice AND a corresponding line item. If an invoice has multiple line items then you would have multiple lines for the same invoice. Only the first line needs to include the invoice's information. Subsequent lines must have the same invoice #, however only need to have the line item fields filled in (*Item*, *Description*, *Quantity*, *Unit Cost*, *Tax*, and *Discounts*).
- Performing an update operation with any line item field specified replaces all line items on the invoice with the new data in the spreadsheet. If updating only a single line item field then you must include the values for all other line item fields on that invoice.
- You can supply an invoice # or leave it blank. If left blank we will generate one for you.
- Customers are identified by their account number first, and if that's not given then customers are identified by their name. If a customer with the same account number (or name if account # was not given) has already been created in Invoiced then the existing customer will be used. Otherwise, we will create a new customer.
- The *Currency* field should use an [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. Otherwise, we will use your default currency.
- The *Type* field can be one of `product`, `service`, `expense`, `hours`, `days`, `month`, `year`, `shipping`, or blank

### Assign a chasing cadence to invoices

::File{src="https://archbee-doc-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/xFkY_UwvTf-ovbPuTit-M_assigninvoicechasing.csv" label="AssignInvoiceChasing.csv" uploadAsPublic="true"}

You can use this template and our spreadsheet importer to assign a chasing cadence to your existing invoices. Only the invoice number and the name of your invoice chasing cadence are required in your spreadsheet.&#x20;

1. Copy the data from your template and paste it into our invoice importer here: [https://app.invoiced.com/imports/new/spreadsheet/invoice](https://app.invoiced.com/imports/new/spreadsheet/invoice)&#x20;
2. Set the default operation to **Update**.
3. Click on **Go to Next Step**.
4. Click **Start Import**. That's it. We will notify you when the import finishes.

### Payments

Steps to import Payments:

1. Go to the **Payments** section
2. Click the **Import** link to the right of the page
3. Build your import spreadsheet, select all the contents, and paste it into the textbox. [Download](https://app.invoiced.com/files/payments-import-template.xlsx) a sample payments import template to get started.
4. Click **Go to Next Step**
5. Match each column to a field in Invoiced. You can also select **Skip** in the dropdown list to skip a column in your spreadsheet.
6. Click **Start Import**. That's it. We will notify you when the import finishes.

**Tips**

- The required fields are *Amount* and one of *Invoice #*, *Invoice ID*, *Customer Name*, *Customer ID*, or *Account #*.
- The payment method can be one of `credit_card`, `ach`, `paypal`, `check`, `wire_transfer`, `cash`, `other`
- When the payment method is `check` you can pass in a check # with the *Transaction ID* field

### Credit Notes

Steps to import Credit Notes:

1. Go to the **Invoices** page
2. Select the down arrow next to the **Invoices** header and select **Credit Notes**.&#x20;
3. Click the **Import** button in the top right corner.
4. Build your import spreadsheet, select all the contents, and paste it into the textbox. [Download](https://app.invoiced.com/files/credit-notes-import-template.xlsx) a sample credit note import template to get started.
5. Click **Go to Next Step**
6. Match each column to a field in Invoiced. You can also select **Skip** in the dropdown list to skip a column in your spreadsheet.
7. Click **Start Import**. That's it. We will notify you when the import finishes.

This will create **open**, unapplied credit notes in your Invoiced account. If you want to **apply** the credit notes to invoices, you need to run an additional **payments import** after the credit notes have been created. Use this template to get started.

::File{src="https://archbee-doc-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/I_Mb3Qmumn0ivdQshmYMc_payments-import-template-applycreditnote.xlsx" label="payments-import-template_applycreditnote.xlsx"}

1. Go to the **Payments** page
2. Click the **Import** button in the top right corner.&#x20;
3. Build your import spreadsheet according to the template above, select all the contents, and paste it into the textbox.&#x20;
4. Click **Go to Next Step**
5. Match each column to a field in Invoiced. You can also select **Skip** in the dropdown list to skip a column in your spreadsheet.
6. Click **Start Import**. That's it. We will notify you when the import finishes.

### Items

1. Go to **Settings** → **Items**
2. Click **Import**
3. Build your import spreadsheet, select all the contents, and paste it into the textbox. [Download](https://app.invoiced.com/files/items-import-template.xlsx) a sample items import template to get started.
4. Click **Go to Next Step**
5. Match each column to a field in Invoiced. You can also select **Skip** in the dropdown list to skip a column in your spreadsheet.
6. Click **Start Import**. That's it. We will notify you when the import finishes.

**Tips**

- The required fields are *ID* and *Name*
- The *ID* field must be at least 2 characters long and can only be alphanumeric, dashes, or underscores
- The *Type* field can be one of `product`, `service`, `expense`, `hours`, `days`, `month`, `year`, `shipping`, or blank

### Plans

1. Go to **Settings** → **Plans**
2. Click **Import**
3. Build your import spreadsheet, select all the contents, and paste it into the textbox. [Download](https://app.invoiced.com/files/plans-import-template.xlsx) a sample plans import template to get started.
4. Click **Go to Next Step**
5. Match each column to a field in Invoiced. You can also select **Skip** in the dropdown list to skip a column in your spreadsheet.
6. Click **Start Import**. That's it. We will notify you when the import finishes.

**Tips**

- The required fields are *ID*, *Name*, *Interval*, *Interval Count*, and *Amount*
- The *ID* field must be at least 2 characters long and can only be alphanumeric, dashes, or underscores
- The *Interval* field can be one of `day`, `week`, `month`, `year`
- The *Interval Count* field must be 1 or greater, i.e. interval count of 3 with an interval of `month` is billed qaurterly.

### Coupons

1. Go to **Settings** → **Coupons**
2. Click **Import**
3. Build your import spreadsheet, select all the contents, and paste it into the textbox. [Download](https://app.invoiced.com/files/coupons-import-template.xlsx) a sample coupons import template to get started.
4. Click **Go to Next Step**
5. Match each column to a field in Invoiced. You can also select **Skip** in the dropdown list to skip a column in your spreadsheet.
6. Click **Start Import**. That's it. We will notify you when the import finishes.

**Tips**

- The required fields are *ID*, *Name*, and *Value*
- The *ID* field must be at least 2 characters long and can only be alphanumeric, dashes, or underscores

### Tax Rates

1. Go to **Settings** → **Tax Rates**
2. Click **Import**
3. Build your import spreadsheet, select all the contents, and paste it into the textbox. [Download](https://app.invoiced.com/files/tax-rates-import-template.xlsx) a sample tax rates import template to get started.
4. Click **Go to Next Step**
5. Match each column to a field in Invoiced. You can also select **Skip** in the dropdown list to skip a column in your spreadsheet.
6. Click **Start Import**. That's it. We will notify you when the import finishes.

**Tips**

- The required fields are *ID*, *Name*, and *Value*
- The *ID* field must be at least 2 characters long and can only be alphanumeric, dashes, or underscores

### Upload Invoice PDFs via Email

You can upload a new invoice PDF and replace the primary invoice PDF in Invoiced via email. This new invoice PDF will be downloadable in the dashboard and in the customer portal.

This can be done for multiple invoices in a single email, subject to file attachment size limits in the email client. 10MB is a common limit.

To do this, the invoice attachment should be titled with the format
\[invoice number].pdf

Then email the PDF to the following address:

Sandbox: invimport+\[username]@sandbox.invoicedmail.com
Production: invimport+\[username]@invoicedmail.com

Replace the \[username] tag with the Account Username found in Settings > Business Profile

[title] Videos
[path] /

Learn more by seeing Invoiced in action. Watch this space for more updates and helpful videos.

::embed[]{url="https://www.youtube.com/watch?v=agDmynP4jEY"}

::embed[]{url="https://youtu.be/KR3jBBtE7ic"}

::embed[]{url="https://www.youtube.com/embed/Vd3PzY5MFEA"}

::embed[]{url="https://youtu.be/PRJw4UdtNOk"}

::embed[]{url="https://youtu.be/V6tEfHZFKEA"}

::embed[]{url="https://youtu.be/mHmkwS5kKug"}

::embed[]{url="https://youtu.be/nk6H-oJaNHI"}

::embed[]{url="https://www.youtube.com/embed/6bWBTvlfZlk"}

::embed[]{url="https://www.youtube.com/watch?v=GbdEMitCrnc"}

::embed[]{url="https://player.vimeo.com/video/483313617"}

::embed[]{url="https://vimeo.com/459550032"}

::embed[]{url="https://vimeo.com/459550001"}

::embed[]{url="https://vimeo.com/459550055"}




[title] Invoice Chasing (legacy)
[path] Accounts Receivable/Smart Chasing/

This document is for our legacy chasing system. If you are using the legacy system and want to move to the new chasing system then please contact Invoiced Support

Invoiced lets you send automatic reminders to your client for outstanding invoices according to the schedule you specify. We call this feature **chasing**.

Chasing can help you close the gap on getting paid by reminding customers to pay. In order to start chasing invoices you must set up a schedule and then turn enable chasing for the invoices you want to chase.

## Chase Schedules

You must specify the schedule that you want your invoices to be chased with. We will stop chasing an invoice once the schedule is finished or when the invoice is paid or closed.

Chase schedules are defined as a series of steps each specifying when an invoice reminder should be sent. Your chasing schedule can be built from the following types of steps:

1. **When issued** - sends an invoice on the issue date
2. **Before the due date** - sends a reminder N days *before* the due date
3. **On the due date** - sends a reminder on the due date
4. **After the due date** - sends a reminder N days *after* the due date
5. **Repeater** - sends a reminder *every N days after* the due date until the invoice is paid or closed.

We will then only chase invoices that have chasing enabled on the invoice. Once the schedule has been completed or the invoice is paid or closed then chasing will stop.

## Getting Started

First you will need to enable chasing for your account in the settings and set up a schedule.

Go to **Settings** → **Chasing**. Flip the **Allow Chasing** toggle.

Now we are ready to set the chasing schedule in order to instruct Invoiced exactly when to send reminders. Click on **+ Step** to add your first and subsequent steps to the chasing schedule.

You can remove existing steps or add new ones easily. We will automatically sort the schedule for you.

When finished click **Save**. Chasing is now enabled for your account. All that's left is to enable chasing on the invoices you want chased.

### Additional Chasing Support

When creating a chasing schedule, you can also select a method to initiate a response based on chasing objective. These methods include:

**Send a Reminder** - Sends a reminder to the customer based on chasing objective

**Flag the Invoice** - Flags invoice in Invoiced to be filtered in reporting as well as flagged on invoice for the customer.

Invoices flagged will be considered an invoice that "Needs Attention". Invoices that need attention will be marked on the invoices outstanding page with an attention icon.

You can also filter your invoices by invoices that need attention with the needs attention filter.

When accessing the invoice, the action item will be placed on the invoice and can be marked as "resolved" to remove the action item.

### Chasing Invoices

When drafting an invoice you can turn on chasing by clicking **Options** at the top of the screen and enabling the **Chasing** setting.

If the invoice has already been created then you can simply click **Enable** under the *Invoice Details* section (next to where it says **Chase: No**). Your invoice will now be chased according to the schedule you set up. The next chase date will be shown in the *Invoice Details* section.

### Further Customization

### Enable Chasing by Default

If you want chasing enabled by default when drafting new invoices then you enable the **Chasing** setting in **Settings** → **General** → **Defaults**.

### Customizing the Chasing Email Templates

The email template used for chasing reminders depends on the invoice's status.

1. **New Invoice Email**
   This email template is used when the invoice has not been sent yet.
2. **Invoice Reminder Email**
   This email template is used when the invoice has already been sent but is not due yet.
3. **Late Payment Reminder Email**
   This email template is always used when the invoice is past due.

You can learn more about customizing email templates in the [Emails Guide](https://docs.invoiced.com/guides/emails#customizing-email-templates).

## Manually Scheduling Invoices

In addition to the global chasing schedule, you can also schedule arbitrary follow ups on a specific invoice. You might use this if you want to follow up on a specific invoice far into the future. Simply schedule the follow up and Invoiced will do it for you when it's time!

Scheduling invoices to be sent into the future only requires that chasing is enabled globally. It does not require you to set up a chasing schedule. Follow these steps in order to schedule a follow up for an invoice:

1. Ensure that **Allow Chasing** is enabled in **Settings** → **Chasing**. You only need to enable this once for your account.
2. Open the invoice that you want Invoiced to follow up on.
3. Click **Actions** → **Enable Chasing**.
4. In the *Invoice Details* section you should see that chasing is enabled. If you have a chasing schedule then *Next Follow Up* might be set to a date already. If not, then it will say *Not scheduled*.
5. Click on **Schedule** below *Next Follow Up* (or **Modify** if there is already a scheduled follow up).
6. Enter in the date you want Invoiced to follow up on the invoice and click **Save**. Your follow up is scheduled. Invoiced will follow up on the date you've selected and no further action is needed.

## Examples

Here are a few examples how Invoiced will behave given a chasing schedule.

### Schedule with one-time reminders

Given the following schedule:

1. Send a reminder **7** days **before** the due date
2. Send a reminder **5** days **after** the due date

Let's say our invoice is due on *September 10th*. Or client will receive a reminder the week before it is due, on *September 3rd*. If it still is not paid then on *September 15th* they will receive a late payment reminder.

### Schedule with repeating reminders

Given the following schedule:

1. Send a reminder **7** days **before** the due date
2. Send a reminder **0** days **after** the due date
3. Send a reminder **5** days **repeating**

Like the previous example our invoice is due on *September 10th*. As with the previous example they will receive a reminder the week before. They will receive another reminder on the due date, *September 10th*, if the invoice is still not paid. By *September 15th* if they still have not paid then they will receive a late payment reminder, and again every 5 days until the invoice is paid or closed.

### Automatically send all newly issued invoices

Given the following schedule:

1. **When issued**

Any invoice that is issued in the system will be sent automatically (approximately 1-2 hours after the issue date). If an invoice is issued with a date of *September 10th* then it will be sent on that day.


[title] Salesforce
[path] Integrations/

The Invoiced for Salesforce app adds accounts receivable automation capabilities to Salesforce. Installing the native Salesforce app allows you to sync Invoiced billing data with Salesforce.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/SXFnFQWmWBYVxAney815S_screen-shot-2023-04-21-at-13243-pm.png "Invoiced Salesforce Integration")

## Data Flow

The Salesforce integration can synchronize the following data with Invoiced. Since most of these are not standard Salesforce objects, our app will install the custom objects and custom fields needed to give you these new capabilities.

| **Invoiced** | **Sync** | **Salesforce**               |
| ------------ | -------- | ---------------------------- |
| Customer     | ←        | Account                      |
| Contact      | ←        | Contact                      |
| Note         | ←\|→     | Note                         |
| Invoice      | ←\|→     | Invoice (Custom Object)      |
| Credit Note  | →        | Credit Note (Custom Object)  |
| Estimate     | ←\|→     | Estimate (Custom Object)     |
| Subscription | →        | Subscription (Custom Object) |
| Payment      | →        | Payment (Custom Object)      |
| Card         | ←        | Card (Custom Object)         |
| Bank Account | ←        | Bank Account (Custom Object) |

## Setup

The package can be installed in any Salesforce org, including Developer and Sandbox editions

1. Go to **Apps → Salesforce** in the Invoiced application. Go to the package installation link in the "How to Install" section.
2. Obtain an API key from the Invoiced dashboard. You can do this in **Settings** → **Developers** → **New API Key**.
3. Now you need to add your Invoiced API key to the package. Go to the Invoiced application from the Salesforce app launcher. Click on the **Settings** page at the top of the screen. Click on the **Connection** tab.
4. Enter in the secret of the API key that you just created into the API Key field on Salesforce. If you are connecting to an Invoiced sandbox account then check the *Use Invoiced Sandbox* option.
5. Click **Save Settings** to enable the Salesforce integration.
6. Click on the **Sync** tab. Check the syncs you want to enable and click **Save Settings**.
7. Then click **Enable Syncing** at the top of the screen.

## Syncing Data from Salesforce to Invoiced

**Creating Customers**

To maximize usage of our integration with Salesforce, we recommend creating accounts in Salesforce rather than customers in Invoiced. There are a few required fields to add in order for this to work. 

Go to setup > object manager > account > page layout > account layout. The following fields are **required**:

- Account Name
- Account Number
- Create on Invoiced
- Invoiced Customer ID
- Invoiced Entity (This is only required if you're syncing to multiple Invoiced Entities.)



Drag and drop these fields into your layout and save. Now you’re ready to create an account. 

::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/XGCy2dZBAsts5dUNYUG9A_screen-shot-2021-10-07-at-120906-pm.png" size="78" width="711" height="937" position="center" showCaption="false"}

If you want the account to populate in Invoiced, select the “Create on Invoiced” box. Data from the other fields will populate in Invoiced *if that field exists in Invoiced.* As soon as you save the account in Salesforce, the customer will populate in Invoiced.&#x20;

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/RDAbDszcCQ5jtPnz6Vn48_screen-shot-2021-10-07-at-121346-pm.png)



Invoiced will assign a customer number and ID. If you refresh your screen in Salesforce, you’ll see these in the account details. The ID is located in the customer URL in Invoiced.&#x20;



![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/VjG4_6-bTKQuiQLiJHFwV_screen-shot-2021-10-07-at-121308-pm.png)



### Creating Invoices

To create invoices in Salesforce that will push to Invoiced, go to Setup > Object Manager > select the Invoice object with the API name Invoiced\_\_Invoice\_\_c. Add the following fields to your page layout:

- Invoice Number
- Invoiced ID
- Issue



When you create an invoice, check the “issue” box so that the invoice will populate in Invoiced. Invoiced will assign an invoice number automatically. 


Syncing Data from Invoiced to Salesforce
----------------------------------------



To sync data from Invoiced to Salesforce, your accounts in Salesforce must include an accurate Invoiced Customer ID and the “Create on Invoiced” box needs to be selected. 

In your Invoiced app in Salesforce, select Settings. Select the boxes associated with the data you would like to sync from Invoiced to Salesforce. As new records are created, they will sync according to the automated sync schedule. You can also manually run the sync by selecting “sync now.” 

After the sync is initiated, refresh your screen. The last synced timestamp will update when a new record is created. 



![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/lVhmAyome0T2AzB13copj_screen-shot-2021-10-07-at-125527-pm.png)

## Usage Notes

- If you use the A/R Inbox in Invoiced, emails will not sync to Salesforce.
- You can review sync logs in the Apex Flex Queue to check for errors.&#x20;

## Edge Cases

Here we have documented some of the limitations, nuances, and edge cases to be aware of when using the Salesforce integration.

### General

- Any changes to data on the system other than where it originated will be ignored and potentially overwritten. For example, if an invoice was created on Salesforce by the Invoiced integration then subsequent modifications to that invoice on Salesforce would not sync to Invoiced. It is possible that those changes on Salesforce would be overwritten by a future sync.


[title] Coupons
[path] Subscription Billing/

Using Coupon codes can incentivize customers and build brand loyalty. They can also help learn more about your consumers behavior. Invoiced has built an easy to use coupon tool to create flat rate and percentage based discounts for customers to allow users to apply coupons to invoicing with ease.

To access Coupons, navigate to **Settings** → **Coupons**

## Creating a Coupon

To create a new Coupon, simply click New Coupon. This will prompt the user to add conditions for the coupon. Here, apply a name for the coupon and the amount. Please note: the amount can be a flat rate, in which a currency is needed, or it can be a percentage of the total. The ID will be auto generated based on the name of the coupon being created.

After creating the coupon, it is now ready to be applied to an Invoice.

## Using a Coupon

After creating the Coupon, it is now ready to be applied to Invoicing. A coupon can be applied anywhere there is a line item or subtotal. Press the **+ Discount** to add the coupon code. A list of the Coupons created will be shown. Select the correct Coupon that is needed to apply discount to the Invoice.

Once selected, the Coupon will be added to the invoice as a line item and discount will be applied to the Balance Due.

## Setting Expiration Dates on Coupons

Setting expiration dates on discount codes can be done directly on the Invoice for the customer. This allows for discount codes to be applied to an invoice and if they pay the invoice before the coupon expires, they can receive that discount rate on their invoice. Once the coupon expires, the coupon will no longer be applied to the invoice and the customer will paid the original amount.

## To set an expiration date on a coupon

Once the invoice is set and a discount is ready to be applied, choose the discount option under the SubTotal section on the invoice. Here, you will apply the discount percentage or rate to be taken off the invoice. Once the discount has been applied, click the clock icon next to discount rate.

This will allow the discount to be expired on a specific date. This setting defaults to Never. Select the date on the calendar and press save. Once the date is saved, the expiration date will show on the invoice.

## Place Discount on Line Item

Just like setting a discount on the entire invoice, Invoiced also allows for coupons to be placed on each line item of the invoice. As each item is added to the invoice, there is a settings section located to the right side of the lined item. In the setting section, a user can add a Line Discount or remove the lined item from adding the discount placed in the subtotal.

## Apply Coupon Duration

An additional feature has been added to coupons that allows the user to apply a duration to discounts. The duration settings is meant to be used for plans that the user would only like to add a discount to X number of charges on that plan.

To access Coupons, navigate to **Settings** → **Coupons**.

Start by creating a coupon or editing an existing coupon. There is now a drop down to select a duration.

1. Forever
2. One Time
3. Fixed Duration

When choosing fixed duration, a box to enter number of cycles to use the discount on. There, enter X number of cycles of the plan.

[title] Subscription Billing
[path] /


[title] Using Subscription Billing
[path] Subscription Billing/

## Creating a Subscription

The following example is based off of a subscription invoice with a NET 14 terms. In this scenario, AutoPay will be disabled. If you wish to use AutoPay, we recommend using the signup pages to subscribe a new customer and capture the payment information on signup.

Subscriptions are created and accessed in the Subscriptions tab. To begin creating a subscription, you can click the + sign next to the subscription tab or access the Add Subscription button in the Subscriptions tab.

A dialogue box will now show to select or add a customer. If the customer does not exist, you will add the customers name and Invoiced will create the customer.

This will allow you to enter the customers contact information, select AutoPay (if applicable), payment terms,  and options for payment methods. This example will use NET 14. Click create when finished.

Once the customer is saved, it is time to create a plan. Click +New Plan to create a new plan.

Let's say we want to create a plan called *Basic* for *$39/month*. The *ID* field is a unique identifier used to reference your plan through the API. The ID is automatically generated for you, but you are free to rename this to match your own internal SKU or naming scheme. Click save when completed.

The last step is to customize the duration of the subscription and if you wish to have any addons. To reveal these options, click the \*Options *drop down*.

In this example, we want to start the subscription now. If you wish to start the subscription at a later date or offer a free trial period then you can uncheck the \*Starting now \*option to select a start date. We are going to leave the *Duration* as Until canceled. The subscription will renew until canceled by you or the customer. The *Quantity* can be left as 1, unless the customer is purchasing multiple quantities of the base price. Let's try adding an addon by clicking *+ Addon*. In our example we are selecting an 1 on 1 session addon and setting the quantity to 4.

For the *Renew On* setting we are going to leave it as Start date anniversary. This will renew the subscription each billing cycle on the same day of the month as the start date, which is today in this example. If you selected Day of month instead then this would bill your customer on a specific day of the month you choose, like the first of the month. The first bill would be prorated for the time remaining until the next billing cycle. Future renewals will be on the date you've specified.

At the bottom of the screen you can see the calculated recurring total. If you click the *Preview* button you can even see a preview of the upcoming billing cycles. Once the subscription looks right you can now click *Create*.

You will now see that your newly created subscription is active. The invoice for the first billing cycle has already been generated.

## Editing a Subscription

What happens when your customer falls in love with your service and wants to purchase more? This common scenario is easily handled with Invoiced. We will even (optionally) calculate and bill the prorated amount when switching a plan, quantity, or addons in the middle of the billing cycle.

You can edit a subscription by opening the subscription in the dashboard and clicking the *Edit* button in the top right corner.

This allows you to change the quantity, add subscription addons, discounts, and taxes.

## Changing the Billing Date

Once your subscription is running you might want to change when it renews next. The reason might be that the customer wants the subscription to renew on a certain day of the month, maybe the wrong start date was chosen, or else you want to issue invoices sooner.

With the subscription in the dashboard you can click **Actions** → **Change Billing Date** to change when the subscription will renew next.

The billing date cannot be set in the past. Changing the billing date will not produce any prorations.

## Canceling a Subscription

Canceling a subscription is simple. With the subscription open in the dashboard you can click **Actions** → **Cancel Subscription**.

You can choose whether you want the subscription to be canceled immediately or at the end of the billing period.

When a customer cancels a subscription in the customer portal, the subscription will end at the end of the billing cycle. This also means that the cancellation will not trigger a credit to the customers account. This is because the subscription is pre-paid at the beginning of the billing cycle.

## Contract Billing

With subscriptions, an automatic billing schedule is based on an infinite number of billing charges. With contract billing, a finite duration of payments for the consumers contract can be created that does not automatically renew, making it beneficial to your enterprise. The interval at which the customer is billed is often more frequent than the length of the contract. Traditional subscription billing allows you to set a subscription billing cycle with no end date, or a billing plan with an ending of X months. Contract billing allows you to set a contract term length. Even if canceled, the contract will continue to bill until the end of the contract term.

### Usage

An example of Contract Billing can be an annual contract that is billed monthly and the contract does not renew automatically. When the contract does not renew automatically, the user will have to manually update the contract during the renewal process to determine if the customer intends to renew their contract. This process also allows for renewal increases and what the duration of the renewal might be.

Please note the renewal length and initial term length are not intrinsically the same. A customer could have a contract that has an initial term of three years and has the option to renew on a yearly basis **after** the inital term.

If auto-renewal is enabled, there is no need for internal intervention of the contract. With auto-renewal disabled, each time there is a contract renewal, it is important to distinguish if the subscription is being renewed, what the length of the next term will be, and if there will be any pricing or line item changes.

### Setup

To set-up a contract, simply navigate to:

Subscriptions → Add Subscription

Like the process of creating a traditional subscription, find the customer you wish to add the subscription to then select the subscription plan. To add contract billing terms, expand the *Options* section.

Select how long the initial term of the contract will be.

Next, select whether the contract will :

*Renew Automatically*: It will continue to renew automatically until canceled based on the renewal terms.

*Require Approval to Renew*: It will require the approval from the customer to renew the contract. This allows internal users to change the terms, pricing, and plan items.

*Stop Billing*: This will cancel the contract

Once you select the process of the contract ending, continue the traditional set up of a subscription billing cycle.

**Approval of Contract Renewal**

When a contract is up for renewal, the renewal process is done by the internal Invoiced user, not the customer. It is up to the business and the customer to work on the renewal terms of the contract.

You can filter your subscriptions by upcoming renewal in your Subscriptions section under the filter : Pending Renewal.

### Canceling Contract Billing

Canceling contract billing is slightly different than canceling a traditional subscription. The customer can still access the cancellation process in the customer portal, however, the option to cancel at the end of the billing cycle should not be available until the length of the contract has completed. In many cases, this option could be a couple of cycles out from the end of the contract billing term.


[title] Welcome!
[path] /

Welcome to the Invoiced product documentation. You can use our product documentation to learn how to set up Invoiced features, manage your Invoiced account, and be successful with Invoiced. First we have some materials we want to point out:

If you look at the left sidebar, you will see a table of contents to our product documentation. The product documentation is broken down into sub-topics:

- **Welcome**: High-level overview of how Invoiced works
- **Accounts Receivable**: Learn how to automate accounts receivable and accept customer payments
- **Accounts Payable**: Learn how to automate accounts payable and pay vendors
- **Reporting**: Learn about how to use the standard reporting features and build custom reports&#x20;
- **Integrations**: Seamlessly sync data with your accounting system and explore other integrations offered
- **Setting Up Invoiced**: Guides on how to onboard and be successful with Invoiced
- **Subscription Billing**: Use subscriptions to set up recurring invoices and payments
- **Developers**: API reference and guides for developers to build on top of Invoiced&#x20;

## Invoiced App

The [Invoiced web app](https://app.invoiced.com) is where you can manage A/R, A/P, payments, and automation. Because Invoiced is web-based, the only system requirement is a web browser. As a bonus the app is responsive! Which means it can be used on any device, including: desktops, tablets, and smartphones. You can run your business on Invoiced from anywhere with Internet access.

![Invoiced Dashboard](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/FhmVJZb4k7WVi3mM11bhc_invoiced-devices.png "Invoiced Dashboard")

### System Requirements

In order to use Invoiced you must use one of the following web browsers:

- Google Chrome: latest two versions
- Mozilla Firefox: latest two versions
- Apple Safari: latest two versions
- Microsoft Edge: latest two versions

Your browser must be configured with:

- Javascript enabled
- Cookies enabled
- Local storage enabled
- TLS v1.2 or above

## What's Next?

Depending on how you intend to use Invoiced, here are a few great places to start:

- [Onboarding Guide](docId\:CULRPB5mHQgkbasFuhJFu)
- [Sync data from your accounting system](https://docs.invoiced.com/accounting)
- [Import data from a spreadsheet](https://docs.invoiced.com/guides/importing-data)
- [Issue new invoices](https://docs.invoiced.com/billing/invoices)
- [Set up subscription billing](https://docs.invoiced.com/subscription-billing)
- [Enable payment processing](https://docs.invoiced.com/accounts-receivable/payments)


[title] Payment Batches
[path] Accounts Payable/Payments/

Invoiced provides a convenient batch payment feature that streamlines the payment process by allowing you to pay multiple vendors and/or bills simultaneously. Batch payments are efficient, time-saving, and ensure consistency across your transactions. This documentation outlines how to effectively use the batch payment feature within Invoiced.

## Overview of Batch Payments

Batch payments in Invoiced simplify the accounts payable process by enabling you to group multiple payments into a single transaction. This capability is particularly useful for businesses managing a large volume of invoices and seeking to optimize their payment workflows.

### Key Features:

- **Multi-Vendor Payments**: Pay multiple vendors at once, reducing the time spent on individual transactions.
- **Consolidated Transactions**: Group several bills into one payment process, streamlining reconciliation and accounting practices.
- **Selected Payment Methods**: Choose your preferred payment method for the batch, accommodating your business’s financial operations.

## Setting Up Batch Payments

### Step 1: Ensure Bills Are Approved

Before initiating a batch payment, verify that all bills you plan to include are approved. Invoiced requires that only approved bills be selected for batch payment to ensure due diligence and financial accuracy.

### Step 2: Navigate to the Batch Payment Section

Log into your Invoiced account and access the `Payments` section. Look for the option labeled `Batch Payment` or similar to begin setting up your batch transaction.

### Step 3: Select Bills for Payment

- **Choose Bills**: You will be presented with a list of approved bills eligible for batch payment. Select the bills you wish to pay in this batch. You can filter and search for specific vendors or invoice numbers to quickly find the bills you need.
- **Payment Details**: After selecting the bills, review the total amount to ensure it matches your payment plan and budgetary constraints.

### Step 4: Choose a Payment Method

Select the payment method you wish to use for the batch payment. Depending on your account settings and vendor preferences, this could include options like ACH, ECheck, credit card, or other available methods. Ensure the chosen method is suitable for all selected bills and vendors.

### Step 5: Confirm and Send Batch Payment

With your bills selected and payment method chosen, review all details for accuracy. Confirm the transaction to initiate the batch payment. Invoiced will process the payment for all selected bills, sending funds according to the chosen method.

## Best Practices for Batch Payments

- **Regular Review of Approved Bills**: Consistently monitor your bills’ approval status to ensure your batch payments include all intended transactions.
- **Payment Method Compatibility**: Verify in advance that your selected payment method is accepted by all vendors included in the batch to avoid processing delays or complications.
- **Record Keeping**: Maintain detailed records of each batch payment for financial tracking and auditing purposes. Invoiced automatically generates transaction records, but additional notes or categorizations may be helpful.
- **Vendor Communication**: Inform your vendors about the payment method and timing, especially if batch payments alter the usual payment schedule or method.

The batch payment feature in Invoiced is designed to make your accounts payable process as efficient and streamlined as possible, allowing you to allocate more time to other areas of your business. By following these steps and best practices, you can maximize the benefits of batch payments, ensuring timely, accurate, and consistent payments to your vendors.

[title] How It Works
[path] Welcome!/

Invoiced was created to make it easier to transact with other businesses. In this guide we will explain how it works.

Invoiced allows you to build a network of businesses that you trade with. Once a customer or vendor is in your network you can exchange documents with each other. At a high level this is how Invoiced is used:

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/-_6nN96w1au7EWAWZUDCj_howitworks.png "How Invoiced Works")

## Sending an invoice

Let's walk through a simple example to illustrate how to send an invoice using Invoiced.

### Add a customer to your network

1. Go to your customer and click **Actions → Add to Network**.
2. Enter the email address or Invoiced username of your customer. If you do not know your customer's Invoiced username then you should use their email address.
3. Your customer will receive a Vendor Approval Request email to approve you as their vendor. If they do not have an Invoiced account yet then they will be able to create a free Invoiced account.

We will send you a notification once the customer has approved you as a vendor. After the connection is established you can begin to send invoices and other trade documents to this customer.

### Create and send an invoice

1. Go to the **Invoices** page and click the **New Invoice&#x20;**&#x62;utton.
2. Select your customer from your customer list and enter in the details of the invoice.
3. Once you are ready to finalize your invoice click the **Save and Issue** button.
4. The invoice will be automatically delivered to your customer's Invoiced account as an e-invoice.

That's it! Now the invoice has been submitted to your customer for approval and payment. Your customer will receive a notification about the new invoice. You will be able to see the status of the invoice as it changes from pending approval to approved and to paid.

[title] Direct Debit
[path] Accounts Receivable/Payments/

[Direct debit payments](https://en.wikipedia.org/wiki/Direct_debit) allow customers to pay invoices with their bank account. Currently companies can process direct debits on Invoiced using these banking schemes:

- Bacs debits (UK)
- SEPA debits (EU)
- BECS debits (Australia)
- Autogiro debits (Sweden)
- PAD (Canada)
- ACH (US)

Please note, if you are looking for the U.S. equivalent of direct debit then please take a look at our [ACH documentation](https://docs.invoiced.com/payments/ach).

## Prerequisites

You must have an account with [GoCardless](https://docs.invoiced.com/integrations/gocardless) for direct debit payments. If you do not have one yet, the setup process will allow you to create a new one.

## Setup

Setting up direct debit payments is a straightforward process.

1. From the Invoiced dashboard go to **Settings** → **Payments**.
2. Click **Setup** on the *Direct Debit* payment method. Continue following the instructions to configure GoCardless. You can see more about the [setup process here](https://docs.invoiced.com/integrations/gocardless#setup).

## Client Workflow

Paying with direct debit has been made as straightforward as possible for customers. When a customer goes to make their first payment they must first accept the direct debit mandate. In order to kick off the process your customer will click **Setup Direct Debit**

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/p2OgqJx1Kp4_ODPzniMsp_pay-invoice-direct-debit.png "Pay Invoice with Direct Debit")



Once the direct debit mandate has been completed then your customer can now use their bank account to pay any invoice from you by returning to the invoice payment page and selecting their bank account as the payment method

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/HqDdb5_XFUNRUqDh5Ku0S_pay-invoice-direct-debit-2.png "GoCardless Direct Debit Payment")



New direct debit payments will have a pending status. Direct debit payments generally take 4-5 business days to complete. Once the transaction succeeds or fails we will update the invoice and send the customer a receipt. In the event of a failure we will create an event in the dashboard.

Subsequent payments from the same customer will not require the customer to go complete another mandate.

## AutoPay

Direct debit payments work with [AutoPay](https://docs.invoiced.com/payments/autopay) when your customer completes a direct debit mandate.

## Learn More

If you want to learn more about setting up the GoCardless integration for direct debit payments then please head over to our [GoCardless documentation](https://docs.invoiced.com/integrations/gocardless).


[title] Smart Chasing
[path] Accounts Receivable/

Smart Chasing helps you close the gap on getting paid by codifying your invoice distribution and follow ups. Once setup, Invoiced automatically executes your chasing workflows for the customers and invoices enrolled in chasing. Smart Chasing is omni-channel meaning it can be used for email, letter, phone calls, and more.

We support chasing at both the account-level and invoice-level. Invoiced gives you maximum flexibility to chase down payment either at the account-level or the invoice-level, or both. You can configure different cadences to chase down customers and invoices at different frequencies, channels, and messaging.

In order to learn more about chasing you can proceed to one of these sections:

- [Customer Chasing](docId:4W9tBIenDuE-E_T6b6qFP)
- [Invoice Chasing](docId\:ppIHWw_lgMIhLG3JTI7SV)&#x20;


[title] Payment Plans
[path] Accounts Receivable/Payments/

Payment plans allow you to split invoice balances into multiple installment payments with a customizable payment schedule. You can use payment plans to track payment progress and also to automatically draft payment according to the installment schedule with AutoPay.

## How it works

A payment plan can be understood as an extension of the invoice due date. Typically an invoice has payment terms, such as NET 7. For example: An invoice billed on October 1 has a full balance due on October 8. Rigid due dates are not helpful in scenarios where you do not want to collect the full balance at once. This is where payment plans can help.

A payment plan describes a multi-step schedule for collecting payments on an invoice. When coupled with the [AutoPay](https://docs.invoiced.com/payments/autopay) feature, the payment plan will completely automate the collection of payment for an invoice according to the payment schedule that you and your customer agree on. This ensures that you are always paid on time and saves your customer the hassle of remembering when to pay installment payments.

Consider this example:

A customer has purchased a water heater from you for $1,000. Perhaps that customer is not able to pay the entire balance up front, but you still want to work with them. With payment plans you can issue a $1,000 invoice for the work performed/ products sold, etc., except that you will establish a schedule agreed upon by you and your customer to pay off the invoice balance. Such a payment schedule might look like this:

*Installment 1*: $500 due on October 1st

*Installment 2*: $250 due on November 1

*Final Installment*: $250 due on November 15

Once your customer approves the payment plan they will be charged automatically for the installments on the date each payment is due. Invoiced will keep track of the installments as they become due, and update the invoice balance as payment is collected.

Payment plans differ from subscription billing in that neither the time between installment payments nor the installment amounts need to be uniform. Payment plans are attached to a single invoice, and thus can work with any schedule.

*Please note*: Payment plans are limited in that the payment plan must add up to the invoice balance.

## Usage

Prerequisites:

- You have created an invoice with an outstanding balance.
- If using AutoPay then your account must support [AutoPay](https://docs.invoiced.com/payments/autopay).

### Creating a payment plan

After creating an invoice for a customer, you can now add a payment plan to allow for installments. Setting up a payment plan is simply building the installment schedule. Each step in the installment schedule represents the date and amount to be paid. Open the invoice that has the outstanding balance. Here, you will add a payment plan to allow the customer to pay off the balance.

Click *Actions* → *Add Payment Plan*. A new dialog will appear.

Invoiced has a clever payment plan calculator that handles most common scheduling scenarios. Just input your constraints and it will calculate the installment schedule for you.

*Fixed Installment Amount*: This section allows you to enter a fixed amount you would like the customer to pay each payment. You will also need to add a Fixed Stop Date or a Fixed time between installments to calculate this.

*Fixed # of Installments*: This allows you to set the number of payments you would like the customer to pay. Simply add a number and it will calculate each payment. You will also need to add a Fixed Stop Date or a Fixed time between installments to calculate this.

*Fixed time Between Installments:* This allows you to set a daily, weekly, monthly, or yearly time between the payments. Note: You will need to add a stop date to this.

Once you are finished adding your installments then you can save the payment plan. We recommend double-checking that the installments have the correct dates and amounts before clicking *Save*. It's not possible to edit a payment plan once created. Instead you would have to cancel the payment plan and start over.

If your payment plan is not uniform, or needs further customization then you can switch the schedule to **Custom**. This will give you fine-grained control over the installment schedule.

If your customer already has payment information on file then there's nothing left to do. AutoPay will be enabled on the invoice and payment will be collected according to your newly created schedule.

If your customer does not have payment information on file yet, please read the next section to learn how to finish enrolling the customer in the payment plan.

\##Signing up customers

When AutoPay is enabled for a payment plan then you have the option to require that the customer first approves the payment plan. This is useful if the customer does not have payment information on file because the approval step will collect payment information from the customer. When approval is required then collection of the installments does not begin until approved.

1. Send the invoice with the payment plan to your customer.
2. Your customer will then open the email from you and click *View Invoice*.
3. Your customer will then click *Pay*.
4. Instead of the normal payment screen the customer will see the payment plan. After reviewing the payment plan they will click *Approve*.
5. Finally, they will need to add payment information to pay for the payment plan. Invoiced will then automatically collect the correct amount from your customer as each installment becomes due.

## FAQ

### How do I manually trigger a collection attempt?

As with all AutoPay invoices, you can manually trigger a collection attempt before Invoiced does automatically performs collection. When a payment plan is attached, then instead of collecting the full invoice balance, Invoiced will only collect the amount of the next installment. This might be useful if your customer wants the next installment to be collected a few days earlier.

### How do I edit or cancel active payment plans?

Once a payment plan is running then the payment plan cannot be edited. With the invoice open, just click **Cancel** in the *Payment Plan* section to instantly stop the payment plan. If needed, you can re-add a new payment plan.

Please keep in mind if there were any previously received payments that replacing the payment plan with a new one must add up to the current balance, and not the original balance.

### When are payment plan installments collected?

Payment plan installments will be collected on the day the installment is due. Generally this will be at the beginning of the day, however, the specific time might vary.

### How are failed payments handled?

Just like any other [failed AutoPay attempt](https://docs.invoiced.com/payments/autopay#failed-payments), we will contact the customer for you with the reason the payment failed and the option to update their payment information. We will also schedule retries according to your payment retry schedule. The installment will not be marked as paid until the amount is collected successfully.

### How can customers see the current balance?

Customers can open the invoice at any point to see the current balance. As installments are collected the invoice balance will be updated to reflect the remaining amount that is due. With a payment plan attached to an invoice, the payment terms will be *Payment Plan* to reflect how payment is being collected and customer will not be able to manually pay the invoice. Otherwise, an invoice with a payment plan behaves like any other invoice.


[title] Credit Balances
[path] Accounts Receivable/Payments/

Invoiced includes a robust credit system that allows customers to maintain a credit balance that can be used to pay outstanding invoices.

The reasons for crediting a customer are many. Maybe they referred a friend and you want to give them a bonus to spend with you later. Another common scenario is when a customer overpays. It's easier to credit the customer's account if you know they are coming back instead of issuing a refund.

Credits might be useful for prepaid billing where the customer purchases a block of credits from you that can be spent later. Prepaying is especially useful when the credits will be spent in tiny amounts across many transactions. Think how your highway toll tag account might work, or prepaid cell phone minutes. You pay some amount up front to charge the account and drained over time until it hits zero or is refilled.

One of the major highlights of the system is that Invoiced keeps track of credit balances over time for each customer account. This gives a complete account history as credits are issued and spent. Another highlight is that Invoiced will prevent credit balances from being overspent, keeping you sane, and customers in the green.

## Usage

### Adding credits

1. Open the customer you want to credit in the dashboard.
2. Click the **+** button underneath the client's balance and then **Add Credit**.
3. Enter the amount to credit and any notes. Click **Save** when you are finished. The customer's balance will be updated to reflect the new credits.

### Paying with Credits

Once you have added credits to your customer's account then you are now able to use them. By default, Invoiced will automatically apply credits to new invoices you issue for that customer.

If you have the **Apply Credits to New Invoices** setting turned off or want to credit an existing invoice then you can follow these steps:

Steps to use credits:

1. Click the **Receive Payment** button in the dashboard for a customer, invoice, or in the *Payments* section.
2. Select the customer that wants to use the credits (if not already selected).
3. Invoiced will load any available credits for that customer. If the customer has a credit balance then you will see a credit line item available to apply.
4. Select an invoice to apply the credits to (if one is not already selected).
5. Click **Create** to apply the credits to that invoice. The invoice and customer balance will be updated immediately.

### Automatically apply credits to new invoices

The **Apply Credits to New Invoices** setting will automatically apply any available credits when a new invoice is raised against your customer's account. This setting can be enabled in **Settings** → **Accounts Receivable**.


[title] Cash Application Rules
[path] Accounts Receivable/Cash Application/

Invoiced's Cash Application Rules feature allows businesses to automate how payments are matched to open invoices based on customizable criteria. This feature reduces manual intervention, speeds up the reconciliation process, and ensures consistent application of payments across multiple transactions. It enhances the efficiency of cash application workflows, helping businesses to manage their accounts receivable more effectively.

By setting up rules, users can define specific conditions for applying payments that originate from bank feed transactions, based on criteria such as statement descriptor, payer name, and other transaction metadata.

## Setup

To create a cash application rule in Invoiced, follow these steps:

1. In the Invoiced app, go to **Settings → Cash Application → Rules.**
2. Click **New Rule**.
3. Enter in the formula for your rule (see examples below).
4. Choose the action you want to take when a transaction matches the rule, such as ignoring it, setting the payment method, or selecting a specific customer.
5. Click **Save**.

Once your rule is created it will apply to new bank feed transactions as they are ingested into Invoiced.

## Bank Feed Transaction Formulas

When creating a cash application rule, you can use these properties from the bank feed transaction to write your formula. These properties are populated conditionally based on the data available from your bank feed. Each bank connection and/or transaction may not have values for all of these properties. These properties are accessed via the `transaction` variable in the formula, e.g. `transaction.description`.

- `description`
- `amount`
- `check_number`
- `merchant_name`
- `payment_reference_number`
- `payment_ppd_id`
- `payment_payee`
- `payment_by_order_of`
- `payment_payer`
- `payment_method`
- `payment_processor`
- `payment_reason`
- `payment_channel`

## Example Formulas

- `transaction.description contains "ORIG CO NAME: Stripe"` - matches transactions where the statement descriptor contains `ORIG CO NAME: Stripe`
- `transaction.payment_method == "ACH"` - matches transactions where the payment method is set to ACH
- `transaction.merchant_name == "Acme Corp"` - matches transactions where the merchant name is exactly equal to `Acme Corp`
- `transaction.payment_ppd_id == "123456"` - matches transactions where the ACH sender ID is exactly equal to  `123456`


[title] PayPal
[path] Accounts Receivable/Payments/

[PayPal](https://paypal.com) is an online wallet that lets anyone securely pay merchants online without sharing payment information with the merchant.

## Prerequisites

You must have a PayPal business account.

## Setup

Setting up PayPal payments is easy! Follow these steps to start accepting PayPal payments in minutes.

1. From the Invoiced dashboard go to **Settings** → **Payments**.
2. Click **PayPal** and enter in your PayPal email address. You can click on learn more to register for a PayPal account.
3. Enter in your PayPal email address and click **Enable**.

## Client Workflow

On the payment page we will generate a **Pay with PayPal** button that takes your customer to PayPal's checkout process. There they will be able to pay using a PayPal account or submit a payment as a guest.

We will reconcile payments and refunds submitted through PayPal using the PayPal's [IPN](https://www.paypal.com/us/cgi-bin/webscr?cmd=p/acc/ipn-info-outside) feature

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/ooYm0fl9OsihG2nH6l5HL_pay-invoice-paypal.png "Pay Invoice with PayPal")

## Withdrawing Money

Any PayPal payments will go to your PayPal balance, which you can withdraw or use to pay other merchants.


[title] Custom Fields
[path] Accounts Receivable/

With custom fields you can store arbitrary business data on customer accounts and invoices. That data can then be displayed on the invoice presented to your customer.

Custom fields have many uses. Here's just a few scenarios where custom fields can help:

- Keeping track of the sales representative for customer accounts
- Segmenting receivables by department
- Adding purchase order numbers to invoices
- Internal tracking purposes

## Usage

### Creating a custom field

You can add a new custom field by going to **Settings** → **Custom Fields** → **New Custom Field**.

### Supported Object Types

These object types support custom fields:

- Credit Note
- Customer
- Estimate
- Invoice
- Item
- Line Item
- Payment
- Plan
- Subscription

### Limitations

- The custom field ID must be unique per object type and cannot be changed later.
- Only 10 custom fields can be created per object type.
- Custom field titles are limited to **40 characters**.
- Values set on customer accounts and invoices are limited to **255 characters**.

### Using custom fields

Once you have created a custom field you can begin using it immediately. When creating or editing data (i.e. customers and invoices) in the application you will see form elements for the custom fields you have added.

If you have enabled customer visibility on your custom field, then customers will see it in the customer portal and on documents. Not every object supports displaying custom field values to a customer. This feature is primarily reserved for custom fields on customers, invoices and line items.  Any non-empty, customer-visible custom field will be displayed on the invoice presented to your customer. If the custom field is empty on the invoice then it will inherit its value from the customer account.

These object types can display a custom field to customers when enabled:

- Customer
- Invoice
- Estimate
- Credit Note
- Line Item
- Subscription

### Filtering

When browsing customers, invoices, estimates, subscriptions, and payments inside of the dashboard you can filter the results by custom field values. This setting is available within the **Filter** menu. Any results return will exactly match the filter you have built.

### Reporting

Custom fields enhance your reporting by making additional filtering and grouping options available.

### Report Filtering

You can filter reports to only include invoices that exactly match a custom field value. Want to see how a specific region or department is performing?

### Report Grouping

Any of the invoice reports can be grouped by custom field values using the **Group By** option. The custom field must have been set up with a pre-defined list of choices in order to support grouping. This might be useful for building a sales by rep report.

### Importing

Custom field values can be set when [importing](https://docs.invoiced.com/guides/importing-data) customers and invoices.

### Field Inheritance

In certain circumstances custom field values will be inherited from related objects. For example, you could have a "Sales Rep" field that is used across customers, invoices, and payments. This section documents all scenarios where custom fields can be inherited. Custom fields are matched across object types, such as from a customer to an invoice, using the custom field ID and not the name.

1. When an invoice, credit note, or estimate PDF is generated, each custom field without a value will inherit its value from the customer.
2. When creating a new invoice in the Invoiced web app, then any matching custom field values will be inherited from the customer.
3. Invoices will inherit matching custom field values on creation from the subscription.
4. Line items will inherit ALL custom field values from the associated plan. Matching custom fields are not required in this scenario.

### Deleting Custom Fields

If a custom field is deleted then the previously entered values will NOT be deleted. The underlying data will be maintained in the object metadata regardless of whether the custom field exists.


[title] Payments
[path] Accounts Receivable/

Payments are at the core of Invoiced. You can process payments within Invoiced as well as keep track of payments that happen outside of Invoiced, like receiving a check.

Typically your customers directly pay invoices through the customer portal when they click a "Pay Now" button on an invoice. If a customer pays online we will automatically record the payment. We currently support ACH, direct debits, credit/debit cards, and PayPal as online payment methods.

Cash receipts on the other hand represent transactions that happen outside of Invoiced, like a wire transfer for example. You can track cash receipts on Invoiced regardless of the payment instrument used.

Another way that customers can pay is with their credit balance, which keeps track of credits the customer might have earned or collected over time.

Invoiced also allows you to track cash receipts from customers, such as ACH credits, checks, and wire transfers. Our cash application tool will help you apply the payment to outstanding invoices for the customer.

Available payment methods:

- [ACH](docId:_NiHqktEIZQhnvNgVGQCb)&#x20;
- [Direct Debit](docId\:jyJIszn7RPBtjhppPFzZZ)&#x20;
- [Card](docId:0VKkQ0i_yYS6rSuyfhOyA)&#x20;
- [Flywire](docId:379VcUh7pciWU-_DiPoMh)&#x20;
- [PayPal](docId\:CM1FNTu9QQvYgpfhh-P6Z)&#x20;
- [Payment Instructions](docId:6WWqSCNhyfHsEUgNuDmql)&#x20;
- [Credit Balances](docId:-DnoOZY6yUP4oMfxec2UQ)&#x20;


[title] Account Statements
[path] Accounts Receivable/

An account statement is a summary of a customer's account activity with your business. Statements are useful for providing customers with a record of purchases and payments. They are also useful for showing customers that have multiple invoices outstanding at once to see the total amount owed.

Invoiced can generate account statements for your customers with the click of a button. In this guide we will walk through generating account statements. Out of the box, Invoiced can produce these types of statements:

- Balance Forward
- Open Item

## Balance Forward

A Balance Forward statement shows all of the invoice, payment, and credit note activity in a specified time period. The Balance Forward statement starts with the previous balance from the last statement and keeps a running balance for each entry in the statement. The statement also shows your customer their account balance at the end of the statement period.

Here is an example Balance Forward statement.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/pGfsA7Y5wy1UFYmQOO_Gn_screen-shot-2021-10-07-at-22215-pm.png "Balance Forward Statement")

Here is how you generate a Balance Forward statement:

1. Open the customer's account in the Invoiced dashboard. Click **Actions** → **Generate Statement**.
2. Select **Balance Forward** and choose the date range the statement should cover.
3. Click **Download** to get a printable version of the statement or **Send** to deliver it to your customer via email, letter, or text message.

## Open Item

An Open Item statement shows all of the unpaid invoices for a customer account. There is also an option to only show past due invoices instead of all outstanding invoices. The Open Item statement will show the total balance due for the matching invoices.

Here is an example Open Item statement.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/m3GEv_PsYoI8EIxoUsc1j_screen-shot-2021-10-07-at-22414-pm.png "Open Item Statement")

Here is how you generate an Open Item statement:

1. Open the customer's account in the Invoiced dashboard. Click **Actions** → **Generate Statement**.
2. Select **Open Item** and choose the date range the statement should cover.
3. Click **Download** to get a printable version of the statement or **Send** to deliver it to your customer via email, letter, or text message.


[title] ACH
[path] Accounts Receivable/Payments/

[ACH](https://en.wikipedia.org/wiki/Automated_Clearing_House) payments allow customers to pay online using a bank account. Payments happen through the ACH network, an electronic network for financial transactions in the United States. The primary benefit of ACH payments is the low transaction fee, particularly on larger transactions.

The tradeoff with ACH payments is that payments do not happen instantly like with credit card payments. ACH payments take 3-7 business days to clear through the ACH network.

## Setup

Accepting ACH payments on Invoiced is easy to set up. Follow these steps to start accepting ACH payments in minutes.

1. From the Invoiced dashboard go to **Settings** → **Payments**.
2. Click **Setup** on the *ACH* payment method.
3. Complete the application process to set up a new payment processing account.
4. Once you have completed the setup process your customers can now pay you with their bank account via ACH!

## Client Workflow

Customers can select the **ACH** payment method from payment forms. Here your customer will be able to enter their bank account and routing number. This can be found on the bottom of a check.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/lECHTzb_v1qoJaJGoWffg_pay-invoice-ach.png "Pay Invoice with ACH")

## Virtual Terminal

Like customers, internal Invoiced users have the ability to apply a payment to an account with an ACH payment method on an invoice. Whether a customer has saved an ACH payment method on file or has provided the user with the information, easily access the virtual terminal for payments by navigating to the invoice and selecting receive payment -> charge. From there, you can select the saved ACH payment method or enter a new ACH method.

## AutoPay

ACH payments work with [AutoPay](https://docs.invoiced.com/payments/autopay) when your customer has a saved bank account on file.

[title] Emails
[path] Accounts Receivable/

Email sending and receiving is a key component to an effective billing system. Here you can learn more about how email sending works on Invoiced.

## Features

We have built many features around sending and email to make billing less stressful.

### View Tracking

Anyone that has billed customers before has probably heard the "I never received it" excuse, at least once. Sometimes it is true that the client never received the invoice. We built view tracking to to solve this problem.

All invoices have what is known as the **Client View**. The client view renders the full document in the recipient's web browser and supports several features, like online payments, PDF downloads, commenting, file attachments, and more. The client view is hosted on your [Customer Portal](docId\:y5fxAbjL_PUwBLeQWwT6g).

Sending invoices have a **View Invoice** button that links to the client view. As soon as your client clicks the view button we log it and notify you.

*Note: we have taken precautions to prevent false alerts should you open the client view of your own invoice.*

### Auditing

We log and track every message sent to customers from Invoiced. When it comes to billing, it's super important to be able to look up past communications with your customer. Within the dashboard you can see precisely what messages were sent to customers, when, and by whom. We track opens and clicks (for invoices and other transactions).

### Email Whitelabeling

Invoiced allows you to completely whitelabel your billing emails by sending through your email domain. All you need to send customer emails from your own email domain are SMTP credentials. Keep reading to learn how to set up email whitelabeling.

### Gmail Actions

We also have a partnership with Gmail that will give special treatment to the invoices you send to Gmail users. Your clients will see a **View Invoice** next to the subject line that takes them straight to the client view without ever needing to open the email. We've seen an uptick in views and paid invoices with this integration.

### A/R Inbox

Invoiced has a built-in shared mailbox for billing and accounts receivable teams to manage customer communications. You can learn more in our [A/R Inbox](https://docs.invoiced.com/guides/ar-inbox) guide.

## Customizing Email Templates

Our default email templates were written to be professional and clearly communicate important billing information to your client; however, we understand these defaults do not work for everyone. It's easy to change the default email templates we use for emails.

The email templates are rendered using Invoiced Template Language. Our template language makes it easy to customize emails with variables (`{{customer_name}}` as an example). You can also take advantage of more advanced logic to create highly personalized emails. Please consult the [Invoiced Template Language documentation](https://docs.invoiced.com/dev/template-language) to learn more.

In order to customize any of the email templates, go to **Settings** → **Emails** in the dashboard. You can edit or create email templates from that page.

NOTE: The bottom email footer containing the invoiced logo cannot be updated. Please take this into consideration when customizing your email.


## Available Email Templates

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/RypPL8LH4WJhJrCxyp3kX_screenshot-2025-01-06-at-95621-am.png)

**New Invoice** - Used when an outstanding invoice is sent to a customer for the first time, or when a manually collected invoice is generated from a subscription. Includes a **View Invoice** button and a PDF attachment of the invoice.

**Invoice Reminder** - Used for outstanding invoices that have already been sent but are not past due yet. Includes a **View Invoice** button and a PDF attachment of the invoice.

**Late Payment Reminder** - Used for past due invoices. Includes a **View Invoice** button and a PDF attachment of the invoice.

**Thank You** - Used for invoices that have been paid in full. Includes a PDF attachment of the invoice. *Turned off by default.*

**Payment Plan Onboarding** - Sent when there is a customer has a new payment plan that they need to approve. *Turned off by default.*

**Credit Note** - Used for credit notes that have been issued. Includes a **View Credit Note** button and a PDF attachment of the credit note.

### Payments

**Payment Receipt** - Used for payment receipts. Includes a PDF attachment with the receipt and the invoices associated with that payment on separate pages.

**Refund** - Send when a charge-type payment is refunded. Includes a PDF attachment with the receipt and the invoices associated with that refund on separate pages.

**Failed AutoPay Attempt** - Sent when a payment attempt on an AutoPay invoice fails. Includes an **Update Payment Info** button.

### Customers

**Statement** - Used to send customer statements. Includes a **View Statement** button and a PDF attachment of the statement.

### Subscriptions

**Sign Up Confirmation** - Sent to confirm a customer has been signed up to a subscription. Includes a **Manage Subscription** button. *Turned off by default.*

**Billed Soon** - Sent to notify a customer their subscription will be billed soon. You specify how many days in advance of the next bill date to send these notices. Includes a **Manage Subscription** button. *Turned off by default.*

**Cancellation** - Sent to confirm a customer's subscription has been canceled. *Turned off by default.*

### Estimates

**Estimate** - Used to send estimates. Includes a **View Statement** button.

## Email Delivery

Out of the box, Invoiced will send emails to your customers using our carefully tuned email infrastructure. Emails will appear as if they came directly from your business, but the sending email address will be "no-reply\@invoiced.com"

Sending via Invoiced's email servers works just fine for most businesses, and it requires zero set up. However, some businesses might run into deliverability issues when sending to customers with strict spam filters. This issue can be more common when sending to large corporations. If you run into deliverability issues, you can ask your customer to whitelist "no-reply\@invoiced.com", although this is not always ideal.

The recommended solution would be to configure Invoiced to send email through your email domain. The setup process is about the same level of difficulty as setting up your work email on a new email client or mobile device. Once enabled, Invoiced will send any customer emails through your email server using your email address as the sender instead of [no-reply@invoiced.com](#). This can have a significant improvement on email delivery for your customers. Instead of receiving email from a third party (Invoiced), it comes directly from you.

### Sending through your email domain

In order to send email using your email domain you must configure Invoiced with your email gateway (also known as SMTP gateway).

1. Your SMTP email address needs to match the email address in your business profile. If you need to change your business profile email, navigate to settings > business profile > select **Change** at the top of the page. After you change the email address and save it, you will receive an email with a code to verify it.
2. Go to **Settings** → **Email** → **Delivery Settings** in the Invoiced dashboard. Click **Change** next to the email settings.
3. Select the send email **via custom SMTP gateway** option.
4. Enter in your SMTP credentials and click **Test Connection** to verify they are correct.&#x20;
5. Click **Save** to save these changes.

Emails will now be sent through the SMTP gateway you entered. You can test this out by sending an invoice to yourself and checking if the sender address matches your company address.

Since emails will be sent with your business email address as the sender please make sure that your SMTP gateway is properly configured for this. Your SMTP gateway must also support TLS or SSL encryption in order to be used with Invoiced.

If we are unable to connect to the gateway for any reason when sending email then we will failover to our email servers. This is a setting which can be disabled if you prefer for outgoing email to only be permitted through your email infrastructure.

### G Suite / Gmail Users

You can send through a Google email account using [SMTP](https://support.google.com/a/answer/176600?hl=en). However, an additional step is required to authenticate your account.

1. You need to [generate an app-specific password](https://support.google.com/mail/answer/185833?hl=en) for Invoiced.&#x20;
2. Your username will be your full email address. You will use the new app password for Invoiced instead of your primary password.
3. Please be aware of the [sending limits](https://support.google.com/a/answer/166852) when sending Invoiced emails through Google.

You can verify the SMTP gateway is working by checking your **Sent** folder in Gmail. You should see emails sent through Invoiced in there.

### IP Addresses

Below is a list of IP addresses that outgoing emails will come from when handing off emails to your SMTP server. This can be useful if you need to whitelist the IP addresses that you will receive outgoing emails from in your firewall rules. Please be aware that these IP addresses are subject to change.

- `52.9.36.210`
- `13.56.137.61`
- `13.59.179.192`
- `3.19.95.157`
- `3.19.101.198`
- `3.209.119.167`
- `3.214.206.190`
- `34.195.191.40`
- `4.213.49.57`
- `100.25.124.96`
- `54.157.144.147`

### Email Bounces

Invoiced provides tracking for bounced emails. An email can bounce for a spectrum of reasons from sending to a non-existent email address to the recipient's mailbox being full. When Invoiced receives a returned email we will add it to the corresponding email thread in your A/R Inbox.

The availability of a bounce notification is entirely dependent on the recipient's email provider. If the recipient's email provider does not notify Invoiced about the failed delivery then there will be no indication on Invoiced that the bounce occurred. Given the asynchronous nature of email, you might immediately see that an email has bounced or it might take several hours.

If you are sending through your own email server (recommended) instead of through Invoiced's email infrastructure, then bounce notifications will go to the sender's email address, which would be the email address in **Settings** → **Email** → **Delivery Settings**. If you do not have email forwarding set up for your A/R Inbox then the notification will be sent to your company email address.

## Automatically sending new invoices

Invoiced can automatically send out new invoices for you. It's as easy as flipping a switch! This works for invoices, estimates, payment plans, and credit notes.

Here is how you set it up:

1. Go to **Settings** → **Emails** → **Triggers**.
2. Click **Customize** on the *New Invoice Email*. You can also enable this on the *Payment Plan Onboarding Email*, *Estimate Email*, or *Credit Note Email* to automatically send out payment plans, estimates and credit notes.
3. Turn on the **Send automatically when a new invoice is issued** setting.
4. Click **Save**.

Now any new invoice will be sent automatically that meets these criteria:

1. Customer has an email address on file.
2. The invoice has an issue date of today or earlier.
3. The invoice is not closed, paid, pending payment, or in draft mode.
4. The invoice does not have AutoPay enabled, or if it does, the customer does not have payment information on file.
5. The invoice has not been sent or marked sent.
6. The invoice does not have a payment plan attached.

Please note there is a 5 minute delay between when an invoice is issued and when the system sends it out. This delay is intentional to give you padding in case a correction needs to be made. If you send out the invoice or mark it as sent before the system has sent it out then your customer will not receive the automated email.

This feature can also be nifty for scheduling invoices. If an invoice is dated in the future then it will not be sent until the issue date.

Also please keep in mind that the system will send out an individual email for each outstanding invoice. If your customer has multiple, newly issued invoices at the same time then they would receive an email for each invoice.

## PDF attachments

The default behavior for sending invoices, credit notes, receipts, and statements will attach a PDF of the invoice, in addition to including a **View Invoice** button (using invoices as an example).

If you wish to change this behavior, you may do so by following these instructions:

1. Click **Edit** on the email template you want to have a PDF attachments in **Settings** → **Emails**.
2. You can enable or disable the **Attach PDF** option.

## Secondary file attachments

You can configure your invoice email templates to include supporting file attachments in the email sent from Invoiced. This setting is off by default. When enabled all files attached to the invoice will be attached when that invoice is sent to the customer. The customer will always be able to access their file attachments in the customer portal regardless of this setting.

You can enable secondary file attachments by following these instructions:

1. Click **Edit** on the email template you want to have secondary file attachments in **Settings** → **Emails**.
2. You can enable or disable the **Attach secondary files** option.
3. Repeat these steps for every invoice email template which you want to have secondary attachments.

:::hint{type="warning"}
The size limit of files attached to your email is 20MB. If any file attachment would exceed the 20MB total limit then it will be excluded from the email. The file attachment can still be downloaded in the customer portal.
:::


[title] Credit Notes
[path] Accounts Receivable/

A credit note, also known as a credit memo, is a document which a seller provides to the buyer to acknowledge that a credit has been provided to them. Invoiced allows you to issue credit notes to customers, just like invoices.

## Creating a Credit Note

You can create a new credit note by following these steps:

1. In the Invoiced application go to the customer account that will be receiving the credit note.
2. Click the **+** button underneath the customer's balance and then **New Credit Note**.
3. Add the line items that you wish to credit to the customer.
4. Click **Save and Issue** to create the credit note. This will create an open credit note with a balance. The next step is to apply the credit note. You can also send the credit note to the customer.

There is a shortcut to create a credit note using the details from an existing invoice. You can access this shortcut by opening the invoice and clicking **Actions** → **Issue Credit Note**. The credit note will have the details pre-populated and upon creation will attempt to apply the credit note to the invoice.

## Applying Credit Notes

Once a credit note is created and issued you can then apply it to invoices and other open items on the customer's account. You can do this by following these steps:

1. Open the credit note in the Invoiced application. You can find open credit notes on the customer account page or on the Credit Notes list.
2. Click **Apply Credit Note**.
3. The open invoices for the customer will be loaded. Enter the amount that you wish to apply to each invoice.
4. Click **Apply** to complete the selection and apply the credit note.

## Applying Credit Notes Automatically

You can also configure your Invoiced account to automatically apply open credit notes to new invoices. If the invoice is on autopay, the credit note will be applied first. Then, autopay will collect the remaining invoice balance, if there is one.&#x20;

Go to **Settings** > **Accounts Receivable** > enable the setting “**Apply Credits to New Invoices**.”

[title] Payment Terms
[path] Accounts Receivable/

Payment terms communicate to your customer the deadline by which they are supposed to pay your invoice. You can also use payment terms to provide customers an incentive to pay your invoice early by using early payment discount terms. In this guide we will walk you through how to set up and use payment terms.

## Setting up Payment Terms

1. Go to **Settings** → **Payment Terms**.
2. Click **New**.
3. Enter in the details of your payment terms, including the name of your terms, due in days, and any early payment discount.
4. Click **Create** to save your payment terms.

## Using Payment Terms

In the payment term settings, you can assign one payment term to be the default payment terms. New customers and invoices will have the default payment terms already selected. You are not required to nominate one of your payment terms as the default.

Payment terms can be assigned to a customer account. When creating or editing a customer you can enter in the payment terms. AutoPay must be disabled for the customer. New invoices issued for that customer will have the customer's payment terms selected. This will supersede any payment terms selected to be the global default.

When creating an invoice through the user interface you can select one of your payment terms from the payment terms dropdown. The payment terms dropdown is only available until after a customer is selected. The payment terms you select will automatically calculate a due date and apply the early payment discount if applicable. AutoPay must be disabled for the invoice in order to select payment terms.

### Modifying Payment Terms

When modifying payment terms, the modification will only apply going forward when using the modified payment term. Modifying existing payment terms does not retroactively change the due date or early discounts of any invoice where the payment terms were previously used. If you need to apply the new payment term settings then you can modify the invoice and re-assign the payment terms.

## Early Payment Discounts

Early payment discounts provide your customer with a monetary incentive to pay an invoice by a certain number of days before it is due. For example, a common early payment discount that businesses offer is a 1% discount if a customer pays within 10 days. Early payment discounts can be useful for businesses that benefit from faster cash flow, or to reduce the risk of not being paid on a large invoice amount.

### Setting Up Early Payment Discount Terms

1. Create a new set of payment terms or modify an existing payment term.
2. Enable the *Has Discounts* setting on the payment terms.
3. Enter in a % or monetary amount of the discount.
4. Put in the number of days after the invoice date after which the discount expires.

### Using early payment discount terms

You can now use your early payment discount terms on a customer or invoice. The early payment discount terms are assigned in the same way as regular payment terms. When early payment discount terms are applied to an invoice through the user interface, the payment terms will automatically add an expiring discount.

[title] Refunds
[path] Accounts Receivable/Payments/

Payments processed through Invoiced can be refunded back to your customer. The refund will be sent to the original payment instrument used in the payment.

Refunds through Invoiced are supported with these payment methods:

- ACH
- Credit Card
- Direct Debit

## Processing a refund

If the payment was processed through Invoiced then you have the ability to issue a full or partial refund. You can only refund up to the original amount that was paid and can only issue a refund to the payment instrument that was originally used. If you want to issue a refund using other means then it must be handled outside of Invoiced.

Here are the steps to issue a refund:

1. In the Invoiced application open the payment you wish to refund.
2. In the *Charge Details* section of the payment click the **Refund** button.
3. You can select to issue a **Full Refund** or a **Partial Refund**. If you select partial refund then you will enter the amount to refund the customer.
4. Click the **Refund** button to initiate the refund. At this point Invoiced will send the request to the payment processor. Depending on the payment instrument used, your customer should expect to see the refund within 5-7 business days. In most scenarios the refund is sent to the payment method they originally paid with.

### What's next?

Refunding a payment will not void the payment or issue a credit note. The payment will continue to be applied the same as prior to the refund. If you want to issue a credit note after refunding the customer then it is recommended as the next step to void the payment. Voiding the payment will reopen the balance of any invoice it was applied to. You can then create a credit note and use that to close out the remaining invoice balance.

If you issue a partial refund, you should void the payment and create a new cash receipt payment for the amount not refunded. Then you can create a credit note for the remaining invoice balance.

You can learn how to [issue and apply a credit note here](https://docs.invoiced.com/billing/credit-notes).

## Limitations

Invoiced will not allow you to process a partial refund on the same date that the payment was processed. The payment must be settled before a partial refund can be issued. You can issue a full refund on the same date that the payment is processes as long as the payment status is succeeded.

Depending on the payment method and payment instrument used, there might be a limited amount of time after the payment was processed in which a refund can be issued. Invoiced does not enforce any deadline by which refunds can be processed.


[title] Customers
[path] Accounts Receivable/

Invoiced makes it easy to add and update customers. While a customer can be added when creating an invoice, a customer can also be created simply by selecting:

**Customers** → **New Customer**

You will be prompted to add a name, account number (this will generate if left blank), and an email address. On the New customer set up, you can also add a payment method, billing address, specify allowed payment methods, and allow chasing on the customers profile. If you do not know this information, you can leave these items blank.

Once a customer is created, you can apply invoices, pending line items, and subscriptions to the customers account.

## Adding a Payment Method

Customer records also allows you to store a payment method on the customer's account. Simply access the customer by finding the customer in Invoiced.

Under the *Payment Method* section, you can add a payment method to use for the customer.

## Contacts

You can create contacts on the customer profile to store additional customer contact information. To add a contact, select **add** in the contacts box in the customer profile. Contacts that are set as default will be cc'ed on all customer emails except for payment receipts (payment receipts will be sent to the primary email unless the customer edits the receipt email field when paying in the Customer Portal). You can assign roles to contacts to send them specific emails configured in your chasing cadence. Read more about contact roles [here.](https://docs.invoiced.com/guides/customer-chasing#tx-contact-roles)

::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/3DPvaAs60FcJEI3lBmMlq_screen-shot-2022-05-20-at-51008-pm.png" size="34" width="870" height="1340" position="center" showCaption="false"}

## Parent / Sub-Customer Relationships

Invoiced supports parent/ sub-customer relationships in customer profiles. You can establish the relationship by navigating to the customer profile > **Edit** > **Basic** > select **Belongs to a parent customer** > Select a parent customer from the drop-down list. Invoiced can also read this data from integrated accounting systems, and you can set the same parent customer on multiple sub-customers. After that, you'll see the parent customer listed in the customer profile. On the parent customer profile, sub-customers are listed below **contacts**.

::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/Kb6eBb6a2Dnqu_SjDhCHE_image.png" size="68" width="1780" height="597" position="center" showCaption="false"}

::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/vWDvBDP5R6op4qhMAmcuZ_screen-shot-2023-01-03-at-33118-pm.png" size="56" width="846" height="750" position="center" showCaption="false"}

::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/Ptp5ORx3wHd_xa1tJN1UU_screen-shot-2023-01-03-at-33630-pm.png" size="56" width="856" height="1314" position="center" showCaption="false"}

Sub-customer invoices are not included in the parent customer balance on the **My Account** page.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/Y3z7DHlGf_71wTONHO8Hf_screen-shot-2023-01-03-at-123346-pm.png)

Parent customers can view sub-customer invoices on the **Statements&#x20;**&#x70;age. They can select a sub-customer's invoice to pay it.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/m59-FCUSKarDBSUF44u34_screen-shot-2023-01-03-at-123520-pm.png)

## Consolidated Invoicing

Invoiced supports consolidating multiple invoices into one. To set this up, select the customer profile > **Edit** > **Options** > **Enable Consolidated Invoicing**. When this setting is enabled and a customer has more than one open invoice, you'll have the option to consolidate the invoices under the **Actions** menu.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/yPF4OU1iC7nnD9zA_mLjj_screen-shot-2023-01-03-at-15726-pm.png)

After you select **Consolidate Invoices**, you'll be prompted to set a cutoff date. Invoices issued before this date will be consolidated. The original invoices will be voided, and a new invoice will be issued with the combined line items. It's not possible to reverse this action, and we encourage you to test in a sandbox account first.

::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/cMZhEgXax_TxegBbrqwEv_screen-shot-2023-01-03-at-21142-pm.png" size="56" width="526" height="548" position="center" showCaption="false"}

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/zmnNYuYStMaPFO3IWN4jL_screen-shot-2023-01-03-at-15751-pm.png)

## Consolidating Invoices for Parent/ Sub-Customers

Invoiced allows you to consolidate invoices issued to sub-customers under the parent customer account. This makes it easier for parent customers to pay multiple sub-customer balances on a single invoice. To set this up, follow these steps:

1. On the parent customer profile, select **Edit** > **Options** > **Enable consolidated invoicing**.
2. On each sub-customer profile, select **Edit** > **Options**
   1. Select the option **Belongs to a parent customer**
   2. Set the parent customer in the drop-down list
   3. Enable **Bill to Parent**
   4. Enable **Consolidated Invoicing**
3. When the sub-customer(s) have at least two outstanding invoices, select the parent customer > **Actions** > **Consolidate Invoices** > select a cutoff date > select **Consolidate**. This will void the existing sub-customer invoices and issue a new, consolidated invoice to the parent customer.

::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/J7P_docuoG0J7WC_hRIx3_screen-shot-2023-01-03-at-32341-pm.png" size="56" width="904" height="770" position="center" showCaption="false"}

## Merging Customers

When using Invoiced, you might find yourself in a situation where there is a duplicate customer account. Duplicate customers can happen due to a third-party integration, a customer signing up from a sign-up form when they already exist on Invoiced, or a clerical error. The problem becomes magnified when there is stored payment information on file that should belong to an existing customer account. Invoiced allows you to merge two customer accounts to remedy duplicate customer accounts. Please be warned that merging customers is a powerful and permanent action. A merged customer cannot be reversed.

How to merge customers:

1. Open the customer account that you want to keep in the Invoiced dashboard.
2. Click **Actions** → **Merge Customer**.
3. Search for and select the customer you want to merge into this customer.
4. Click **Preview** to see a preview of the resulting customer. The customer that you selected in the previous step will have all of their transactions, payment information, and history merged into the customer from the first step. The profile for the customer being merged in will be deleted after all of the associated data has been moved to the resulting customer.
5. Click **Merge** to finalize the process.

## Inactive Customers

If you are no longer doing business with a specific customer, you may wish to remove it from your customer list. You can mark any customer as inactive to keep all of their accounting records while also preventing new invoices from being posted. Unlike deleting the customer, marking a customer as inactive is not permanent. An inactive customer can be reactivated at any time.

When a customer is inactive, the following will apply:

- The customer list will not include this customer unless you select the "Include Inactive" option.
- You are unable to perform merges with the inactive customer.
- The inactive customer can still access the customer portal and submit payments.
- New invoices, credit notes, estimates, subscriptions, and pending line items cannot be created for the inactive customer.

### Making a Customer Inactive

1. Open the customer account that you want to inactivate.
2. Click **Actions** → **Make Inactive**.

### Reactivating an Inactive Customer

1. Open the customer account that you want to reactivate.
2. Click **Actions** → **Make Active**.

## Deleting Customers

It is possible to permanently delete a customer if you have made a mistake when creating a customer. A customer can only be permanently deleted if it has no invoices, credit notes, estimates, or active subscriptions associated with it.

1. Open the customer account that you want to reactivate.
2. Click **Actions** → **Delete Customer**.


[title] Flywire
[path] Accounts Receivable/Payments/

This document outlines the process for connecting Flywire to Invoiced for accepting payments and explains how our integration works.

## Prerequisites

You must have an account with Flywire. If you do not have a Flywire account please contact Invoiced Support to get started.

## Setup

Setting up Flywire payments is a straightforward process.

1. First contact Invoiced Support to request that the Flywire payment method is added to your Invoiced account.
2. Invoiced Support will activate and configure the Flywire payment method in your Invoiced account.

## Client Workflow

Paying with Flywire has been made as straightforward as possible for customers. When a customer goes to make a payment they are shown localized payment methods depending on their location. The Flywire payment experience begins when the customer clicks **Pay** for the Flywire payment method.

![](https://archbee-image-uploads.s3.amazonaws.com/9S0iYygTQehpTJkronUv4-jSnxccsH5ZOg7fg7mb4qB-20240822-190230.png "Flywire payer experience")

Instantly settled Flywire payment methods like credit cards will create a payment on Invoiced with a succeeded status. New Flywire payments that are not settled instantly like a bank transfer will have a pending status. Once the transaction succeeds or fails we will update the invoice and send the customer a receipt. In the event of a failure we will create an event in the dashboard.


[title] AutoPay
[path] Accounts Receivable/Payments/

AutoPay automatically collects payment from customers when an invoice is issued by drawing payment from your customer's attached payment method. AutoPay works with card and direct debit payments.

## How it works

AutoPay allows you to securely collect and charge payment info for customers. In order to use AutoPay you must follow these simple requirements:

1. Have at least one payment method enabled that supports AutoPay. Currently AutoPay works with **Card** and **Direct Debit**.
2. Payment information on file for each AutoPay customer. When connecting bank accounts the customer must verify the account before it can be charged.

### Collecting payment information

There are multiple ways to securely add payment information to a customer's account.

1. [Sign Up Pages](https://docs.invoiced.com/billing/sign-up-pages)
2. [Customer Portal](https://docs.invoiced.com/guides/billing-portal)
3. Sending an AutoPay invoice to your customer
4. Adding a credit card through the dashboard
5. [Payments API](https://docs.invoiced.com/dev/payment-info)

### Failed Payments

AutoPay was designed to gracefully handle failed payments. We will automatically retry failed payments according to your retry schedule. If the payment succeeds at any point then the retry schedule will stop. Your customer will also be sent a [Failed AutoPay Attempt](https://docs.invoiced.com/guides/emails#payments) email. The email will include an **Update Payment Info** button in case the customer's payment information is out of date.

Failed payments will be retried according to the following schedule by default. You may change the retry schedule in **Settings** → **Accounts Receivable** → **AutoPay**:

- 3 days after first payment attempt
- 5 days after second payment attempt
- 7 days after third payment attempt

After all of the retries have been exhausted then the invoice will be marked as past due. Additionally if this was for a subscription invoice you can control what happens to the subscription in **Settings** → **Subscription Billing** → **After Subscription Nonpayment**.

## Usage

### Setting up AutoPay

Let's walk through a basic scenario where we set up AutoPay for a customer by sending them an invoice.

1. Enable a payment method that supports AutoPay
2. Turn on AutoPay for your customer
3. Issue an invoice
4. Customer pays to store payment information

### Updating payment information

Once a customer's added payment information they can update it at any time through the customer portal by clicking **Change** in the *Payment Method* section

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/iRsaUzge9cch4O61xGSnq_update-payment-source.png "Updating payment information")

Invoices will also have a button to update payment information. When the issuer of a saved card supports Account Updater, then this will automatically update the customer's payment information when they are issued a replacement card.

## FAQ

### When is payment for AutoPay invoices collected?

If an invoice has an issue date of today or earlier then payment will be collected no earlier than 1 hour after the invoice is issued. Generally you can expect payment to be collected in 1-2 hours. The 1 hour minimum delay gives you time to recover from any potential mistakes.

If the invoice has an issue date in the future then payment will not be collected until the invoice issue date.

You can also change the default offset for collecting an AutoPay payment in **Settings** → **Accounts Receivable** → **AutoPay** → **AutoPay Payment Date**. This will allow you to increase the time between when the invoice is issued and when payment is collected by some number of days.

### Can I trigger payment for AutoPay invoices sooner?

Absolutely. If you open the invoice in the dashboard you can trigger payment sooner by clicking **Collect now** on the invoice. This will initiate a collection attempt immediately.

### Can I turn AutoPay off for one invoice?

Yes. When creating an invoice for a customer that has AutoPay enabled, the AutoPay feature can be turned off for this invoice at the top fo the invoice creation page. The system will alert you that the invoice will be automatically charged on issuing. You can press the Turn AutoPay off, which will turn the AutoPay feature off for that particular Invoice.

### What automated emails does Invoiced send for AutoPay?

Invoiced can send these emails with AutoPay:

- **Payment Receipt**
- **Failed AutoPay Attempt**

You can learn more about these emails in the [Emails Guide](https://docs.invoiced.com/guides/emails#payments).

### Can customers pay an AutoPay invoice through the customer portal?

In most cases customers are prevented from making payments against AutoPay invoices in the customer portal. The exceptions to this are:

1. If the invoice has AutoPay enabled but the customer has no payment method on file, then the customer will be able to submit a payment.
2. If all AutoPay attempts per your retry schedule have failed and no future attempts are scheduled, then the customer can submit a payment.

In the Invoiced application you will be able to capture payments for an AutoPay invoice at any time. If you wish to allow customers to submit a payment through the customer portal outside of the above exceptions then you can disable AutoPay for the invoice.


[title] Invoices
[path] Accounts Receivable/

Invoiced supports issuing new invoices directly through Invoiced, instead of through your accounting system or a customer's subscription. Creating an invoice is a fairly simple process. Once you are logged into Invoiced you can click **Invoices** → **New Invoice**.

Now you are inside of the invoice editor. The most important aspect of creating an invoice is to select the customer you wish to send the invoice to. Let's select the customer that we are invoicing. Click the dropdown where it says Find or create client and start typing your customer's name. If you have not created any customers, the customer will not exist yet, so you will need to click Add My First Customer as a new client. A new dialog will appear where you can enter your customer's information. You can refer to the Customers documentation to find the step by step setup of the customer contact information.

Once the customer is created and/or selected, the invoice information can now be generated. This is where you are going to select the items the customer will be billed for. Let's break this part of the invoice creation into sections.

### Selecting a Date

In the right corner of the invoice, you will find a section to select a date of the invoice. The date is when the invoice is created. If you are going to be sending this invoice out in the future, and creating a due date or net payment term, you will want to set the creation date as the date in the future you wish to send it. Note: The invoice will not automatically be sent on the due date, this is just for calculating the payment term purposes.

When selecting or creating the customer the invoice will go to, it will prompt you to select a payment term or if the customer will be on autopay. The payment term for the customer or the autopay information will show under the Date field. If you wish to change this to a specific date to bill the customer, delete the payment term in the payment term selection and a due date box will appear. Here is where you can select a due date.

### Adding Items to the Invoice

Items refer to what you are invoicing the customer for. This can include services, products, time, shipping, etc. Items can be created on the fly, within the invoice, or, they can be created and stored in the items list. Items are configured in **Settings** → **Items**. Please refer to the Catalog tutorial for more information. Items can also have descriptions that will describe the reason or the product information they are being charged for. This is not a mandatory field.

Once you have selected or created the items the customer will be billed for, you can now select the quantity they will be billed for as well as the rate of the item.&#x20;

### Applying a Discount and Tax

You are now 75% of the way through creating an invoice! If you wish to apply tax or a discount to the invoice, follow these steps.

**Discounts**

Discounts can be created before creating the invoice in your **Settings** → **Coupons** section. Please refer to the Coupons tutorial on how to create these. If you have not yet set up the discounts to be used, you can apply a manual discount on the invoice. To apply a discount manually to the invoice, simply click on the +Discount field. This section will present you with a box to apply a custom discount, select from existing discounts, or create a new discount code. Once you have selected and applied the discount, it will generate the discount on the invoice for you to review.

**Taxes**

Taxes can be created before creating an invoice in your **Settings** → **Taxes** section. Please refer to the Taxes tutorial on how to create and apply Tax Rates and Tax Rules to invoices. If you have not set up a tax rate or rule, you can apply a manual tax percent to the invoice. To apply taxes manually to an invoice, simply click the +Taxes field. This section will present you with a box to apply a custom tax rate, select from existing created taxes, or create a new Tax rate to be added to your Tax rate list. Once you have selected and applied the tax rate, it will generate the tax information for you to review.

### Invoice Notes

You can add both internal and customer-facing notes to invoices.&#x20;

To add a note for your customer to see, select the invoice > **edit** > enter text in the **notes&#x20;**&#x66;ield at the bottom of the invoice. This will be visible on the invoice pdf.

To create an internal note, select the invoice > select **Add** in the yellow **Follow-Up Notes&#x20;**&#x62;ox. Customers won't be able to see this note.&#x20;

### Invoice Attachments

It can be useful to attach a secondary file to an invoice, like a signed contract or timesheet. To attach a file, select **Add** in the file attachments box at the bottom of the invoice. To remove an attachment, select **edit** > select the small x next to the file name at the bottom of the invoice. Your customer can access the file attachment when they view the invoice.&#x20;

You can replace the invoice pdf by following the instructions [here.](https://docs.invoiced.com/getting-started/importing-data#hPqb4)&#x20;



After building your line items, selecting your discount and tax information, and applying notes, your invoice is complete. If you are not ready for your customer to see the invoice, you can save it as a draft. An invoice is not treated as outstanding until it has been issued. By selecting **Save and Issue,** the invoice will be posted to the customer's account and included in their total outstanding balance.

### Why can't I save my invoice?

If you have created an invoice and you cannot select the save and issue button, check to make sure all of the required fields are complete. If you haven't selected a customer, you won't be able to create the invoice.&#x20;

### Sending the invoice

Upon issuing the invoice we will ask if you want to send it. If you choose not to send it now you will have the option to send it later or else mark the invoice as sent if you sent the invoice using some other medium. To send the invoice now, simply click Send Invoice. This function will present the user with a pop-up to review the email that will be sent to the customer. The information generated is created in the email template section of your Invoiced account. This can be found in **Settings** → **Emails**. After reviewing the email information, you can now send the invoice. Once the invoice is sent, the customer will receive an email with your branding, information, and invoice information.

*Automatically sending invoices*

Invoiced has a great feature if you wish to have the email sent at the time the invoice is created. You can set up a Chasing rule to send on issuing, which will send the invoice automatically, and no manual production of the invoice will need to be done.

You can learn more about the [chasing process here](https://docs.invoiced.com/guides/chasing).

## Getting paid

When your customer clicks the *View Invoice* button in the invoice email, they will be taken to the invoice in the customer portal. The customer portal is where customer's can view and pay invoices, in addition to having access to their past billing history. Another nifty feature is that once your customer views an invoice we will send you a notification to let you know they have seen it. Note: Notifications can be turned on and off in your **Settings** → **Notifications** section.

Here, the customer can leave a comment (Have Questions?) , download the invoice, or pay the invoice. In order for the customer to pay, they can click the *Pay* button at the bottom located at the top of the Invoice details. They will be taken to the payment page to select a payment method.

Payment methods available for the customer to use are generated by what is available and set in your **Settings** → **Payments** section. You can also specify, by customer, what a customer can use in order to pay an invoice. This can be specified under the customers account profile information in Invoiced.

Once your customer pays online, the payment will be recorded automatically in the dashboard and they will be issued a receipt.

What's next?

This tutorial has shown you what a simple invoicing workflow looks like with Invoiced. We recommend checking out our other guides to learn how to solve more complex billing workflows and set up automation for tedious billing tasks. There are guides for [subscription billing](https://docs.invoiced.com/billing/subscription-billing), [chasing](https://docs.invoiced.com/guides/chasing), [payments](https://docs.invoiced.com/payments), and more.


[title] Remittance Advice
[path] Accounts Receivable/Cash Application/

Invoiced's Remittance Advice feature allows businesses to easily manage and track detailed payment information provided by customers. When customers submit payments, they often include remittance details that specify how the payment should be applied across multiple invoices. This feature enables businesses to capture and store that information within Invoiced, ensuring that payments are accurately matched to the correct invoices. By centralizing remittance data, this feature improves payment reconciliation, reduces errors, and streamlines the overall accounts receivable process.

## Importing Remittance Advice

### Spreadsheet Remittance Advice

If your customer has provided you with remittance advice in a spreadsheet-like format, then you can import it directly into Invoiced using our spreadsheet import tool.

1. Go to the Invoiced app and proceed to the **Payments** section.
2. Click the **Payments** title at the top and select **Remittance Advice**.
3. Clic&#x6B;**&#x20;Import.**
4. Upload the remittance advice spreadsheet.
5. The remittance advice record(s) will be created from the uploaded data.

### PDF Remittance Advice

If your customer has provided you with remittance advice in an image-like format, such as a PDF, then you can upload it into Invoiced and our AI-powered document reader will parse out the contents, including invoice numbers, discounts taken, and amount applied per line item. This feature is designed to work with a wide variety of remittance advice formats and layouts.

1. Go to the Invoiced app and proceed to the **Payments** section.
2. Click the **Payments** title at the top and select **Remittance Advice**.
3. Clic&#x6B;**&#x20;Upload.**
4. Upload your remittance advice file.
5. The remittance advice record(s) will be created from the uploaded file.

## Handling Remittance Advice

For remittance advice that is created and has no exceptions, Invoiced will automatically create the corresponding payment. When there are exceptions detected, such as short payments, excessive discounts taken, or other anomalies then you will have to review these exceptions and choose how you want to handle it.

[title] Bad Debt
[path] Accounts Receivable/

When an invoice balance is determined to be uncollectible from the customer, it is possible to write off the uncollectible amount as bad debt. This takes the amount you are ultimately unable to collect off of the books. In this guide we are going to show how to write off an invoice as bad debt.

## How It Works

The bad debt write off feature will create a credit note with a bad debt line item to cover the remaining balance. The invoice will be given a status of "Bad Debt" to help you identify that it was not paid in full. Write offs will appear in the "Bad Debt" report.

## Usage

### Write Off Invoice as Bad Debt

If an invoice has an open balance then you are able to write off the remaining balance if it is uncollectible. If your invoice has originated from your accounting system then you will need to perform the bad debt write off there.

1. Open the invoice you wish to write off in the Invoiced web application.
2. Click **Actions** → **Write Off as Bad Debt**.
3. Your invoice now has a status of bad debt and a zero balance.

### Undo a Bad Debt Write Off

You can undo a bad debt write off if you need to for any reason, such as the customer paying the balance or the write off was a mistake. If you need to undo a bad debt write off then you must first void the payment that applies the bad debt credit note to your invoice and then void the bad debt credit note.

1. Open the bad debt invoice you wish to undo in the Invoiced web application.
2. Click on the payment that applies the bad debt credit note to your invoice.
3. Click **Actions** → **Void Payment**.
4. Go to the bad debt credit note that was previously created during the write off process. It should now have an open balance.
5. Click **Actions** → **Void Credit Note**.


[title] Payment Links
[path] Accounts Receivable/

Payment Links provides a simple and flexible way to request payments from your customers. With Payment Links, you can generate a unique link that can be sent to customers via email, text, or other communication channels. When the customer clicks the link and completes the payment, an invoice is automatically generated for the transaction.

This feature is ideal for scenarios where customers do not owe a balance until they complete their purchase. By using Payment Links, you can streamline payment collection for on-demand transactions, reducing administrative overhead while delivering a seamless customer experience.

![](https://archbee-image-uploads.s3.amazonaws.com/9S0iYygTQehpTJkronUv4-Jj3dHbNt_u1qOXaPSepVH-20241210-224837.png "Payment Link")

## Reusable vs. Single-Use Payment Links

Invoiced’s Payment Links feature offers two types of links to accommodate different payment collection needs: **reusable** and **single-use**. Understanding the differences can help you choose the best option for your workflow.

**Reusable payment links** can be used multiple times, allowing multiple customers to make payments through the same link. These links are ideal for scenarios like:

- **Recurring or open-ended payments:** Customers can repeatedly use the same link for ongoing transactions.
- **General-purpose payments:** Perfect for collecting payments without specifying a single customer or invoice in advance.
- **Template links:** Dynamically add customer and invoice details in the query parameters. This is helpful for use in email templates sent by your ERP or CRM.

When using reusable links, the system automatically generates a unique invoice for each payment made, ensuring proper tracking and recordkeeping.

**Single-use payment links** are designed to expire after a single payment is completed. These links are best suited for:

- **One-off purchases:** Ensure that the link is used exclusively for a single transaction.
- **Secure payment requests:** Add an extra layer of control by limiting the link’s usage.

Once a customer completes the payment through a single-use link, it becomes inactive and cannot be reused. This is particularly useful for workflows where payments need to be closely monitored or tied to specific customers.

## Creating Payment Links

Creating Payment Links in Invoiced is quick and easy. Follow these steps to generate a link tailored to your payment collection needs:

1. Go to the **Payment Links&#x20;**&#x70;age in the Invoiced app.
2. Click the **New** button.
3. Choose whether you want the link to be **Reusable** or **Single-Use** based on your needs:
   - **Reusable Link:** Allows multiple customers to make payments using the same link.
   - **Single-Use Link:** Expires after a single payment is made.
4. Add Line Items
   1. Assign a meaningful description to identify the purpose of the payment.
   2. Enter in the amount the customer will pay.
5. Advanced Settings (Optional)**:** Change optional behavior, such as the URL to redirect the payer to after completion.
6. Click **Create** to generate the link.
7. Copy the generated link and share it with your customer via email, SMS, or any communication platform.

## Payment Link Templates

Invoiced’s Payment Link Templates allow you to prefill fields on the payment page using query parameters. This feature makes it easier to customize the payment experience for your customers by automatically populating key details. Here’s how to use query parameters with Payment Links.

You can append the following query parameters to a Payment Link URL to prefill the corresponding fields:

| **Parameter**       | **Description**                                                                    |
| ------------------- | ---------------------------------------------------------------------------------- |
| `client_identifier` | Unique customer identifier.                                                        |
| `amount`            | Payment amount.<br />Requires **Link Template** to be enabled on the payment link. |
| `invoice_number`    | Unique invoice identifier.                                                         |
| `description`       | Payment description.                                                               |
| `first_name`        | Customer's first name.                                                             |
| `last_name`         | Customer's last name.                                                              |
| `company`           | Customer's company name.                                                           |
| `email`             | Customer's email address.                                                          |
| `address1`          | Customer's street address line 1.                                                  |
| `address2`          | Customer's street address line 2.                                                  |
| `city`              | Customer's city.                                                                   |
| `state`             | Customer's state.                                                                  |
| `postal_code`       | Zip or postal code.                                                                |
| `country`           | Country code (ISO-2 format).                                                       |
| `phone`             | Customer's phone number.                                                           |

To create a prefilled payment link, append the desired query parameters to your Payment Link URL. For example:

:::BlockQuote
https\://yourbusiness.invoiced.com/pay/\:linkIdentifier?client\_identifier=12345\&amount=100.00\&first\_name=John\&last\_name=Doe\&email=johndoe\@example.com\&address1=123+Main+St\&city=Springfield\&state=IL\&postal\_code=62704\&country=US\&phone=5551234567
:::

When the customer clicks this link:

- The payment amount will be prefilled with **$100.00**.
- The customer’s first name, last name, email, address, and other details will appear on the payment form, reducing the need for manual input.

### Duplicate Payment Prevention

If a customer attempts to make a payment using a link where the query parameters (e.g., `client_identifier`, `amount`, `invoice_number`) match a payment that has already been completed with the same payment link, the system will display a message indicating that the payment request has already been fulfilled.

Duplicate payment prevention will only be applied if the `client_identifier` query parameter is provided. To take full advantage of this feature, ensure that you use consistent and unique identifiers, such as `client_identifier` and `invoice_number`, in your payment link query parameters.


[title] Credit Holds
[path] Accounts Receivable/

Credit holds and credit limits can be used to control the credit extended to customers and reduce your organization's exposure to risk.

## Setting a Credit Hold

When an account has a credit hold, new invoices cannot be created for that customer.

Here is how to setup a credit hold:

1. Open the customer's account in the Invoiced dashboard. Click **Edit**.
2. In the *More Options* section, toggle on the **Credit Hold** option.
3. Click **Save** to finalize the credit hold.

When a credit hold is in place you will see this error message when trying to create invoices:

:::BlockQuote
New invoices cannot be created for this account because it has a credit hold.
:::

Credit holds can be released through the same process as adding a credit hold, by simply toggling the credit hold option off on the customer.

## Setting a Credit Limit

A credit limit puts a restriction on the amount an account can have outstanding at a time. When there is a credit limit for an account, each time an invoice is created, Invoiced will check to see if that causes the customer to exceed their credit limit. When in excess of the credit limit the invoice will be rejected.

Here is how to setup a credit limit:

1. Open the customer's account in the Invoiced dashboard. Click **Edit**.
2. In the *More Options* section, check the **Has credit limit** option and enter in the credit limit.
3. Click **Save** to finalize the credit limit.

When a credit hold is in place you will see this error message when trying to create invoices:

:::BlockQuote
This invoice cannot be created because the new amount outstanding ($11,000.00) exceeds the account's credit limit ($10,000.00).
:::

Credit limits can be modified or removed through the same process as adding a credit limit.

[title] Payment Gateways
[path] Accounts Receivable/Payments/

Invoiced supports the most popular payment gateways out of the box. Gateways that we support include:&#x20;

- [Flywire](https://docs.invoiced.com/accounts-receivable/payments/flywire)
- [GoCardless](docId\:vtlO3QCodsaBV4L0EqIAM)&#x20;

## Adding a New Payment Gateway

If you need to add a payment gateway to your Invoiced account then please contact Invoiced Support to have it added.

## Switching payment gateways

Switching payment gateways can be challenging, especially when there is payment information stored on your old gateway. We have designed Invoiced to allow you to seamlessly transition between payment gateways without disrupting your customer's billing.

When you switch payment gateways in **Settings** → **Payments**, any new payment information added through Invoiced and any one-off charges will immediately use the new gateway you have selected as the default. When vaulting payment information, Invoiced will always store customer payment information on your payment gateway account. When switching payment gateways, due to PCI compliance reasons, the payment information is not portable between payment gateways.

In order to continue billing and charging your customers without interruption we will continue to use the old payment gateway for any payment information that was stored there prior to the transition. When your customer enters in new payment information then it will be stored on the new payment gateway. You can see which payment gateway a card or bank account is stored on by going to the customer summary page on Invoiced and clicking on the payment method.

### Migrating stored payment information

In some cases payment information can be migrated from your old payment gateway to your new gateway. The two payment gateways providers, old and new, will have to broker the transfer of stored payment information for PCI compliance reasons. You would only need to do this if you have payment information on file with the old gateway that you would like to charge through your new gateway. It is not a requirement to move payment information when switching to a new gateway on Invoiced.

Once you have successfully migrated your customer's payment information to the new payment gateway then we can update the references on Invoiced to point to the new information. Please contact Invoiced Support for assistance with importing in your updated customer mapping.


[title] Payment Instructions
[path] Accounts Receivable/Payments/

Invoiced lets you display payment instructions to your clients on your invoices for payment methods you accept, like check and wire transfer. Customers can even notify you through the customer portal when the check is in the mail. When a payment is received outside of Invoiced, we give you tools to apply those incoming payments to outstanding invoices.

## Setup

Setting up payment instructions is easy! Follow these steps to display your custom payment instructions to customers.

1. From the Invoiced dashboard go to **Settings** → **Payments**.
2. Click **Setup** on the *Payment Instructions* payment method.
3. Click on the toggle for each payment method you want to accept, like Check or Wire Transfer. Then enter in your payment instructions for that payment method. You can change, enable, or disable the payment instructions based on the payer's country.
4. Click **Save** to go live with your payment instructions.

## Client Workflow

When your client selects a payment you added in the setup above we will show them your custom payment instructions. They can even notify you when the check is in the mail by creating a promise-to-pay.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/m3FYB_xfSI4DZN6Mn5oiO_pay-invoice-offline.png "Pay invoice with check")

## Recording Cash Receipts

Once you receive the payment you will need to record the payment through the dashboard in order to mark the invoice as paid. You can do this by accessing the Invoice and proceeding to the **Payments** section, clicking **Receive Payment**, fill in the form, and finally click Create.

When you apply a payment to an outstanding invoice. You will see a couple of different options on the **Receive Payment** Screen:

**Cash Receipt:** The record when a cash payment has been allocated for the sale of a product. This can be cash, check, wire transfer, etc.
**Charge:** Credit Card & ACH transactions.

Voilà, the invoice is now marked as paid.

**Want to pay multiple invoices for a customer?** Access the customer’s profile and press the addition icon in the top right corner of the page. Choose Receive Payment. Here, you will select the payment type, and the amount you wish to apply. Then, you will be able to select the outstanding invoices for the customer.

## Handling Overpayments

Whenever customers pay electronically Invoiced will always ensure the payment is for the correct amount. However, if you accept payments outside of Invoiced, like checks or wire transfers, it is possible that customers will overpay. We've tried to make handling overpayments as easy as possible.

If your customer pays too much there are two ways it can be handled:

1. **Credit** the customer's balance for use on future invoices
2. Issue a **refund** for the amount overpaid

When you record a payment through the dashboard and there is money left over after applying the amount to any outstanding invoices then we will give you a choice to credit or refund the overpayment amount.

Should you choose to refund the overpayment then we will record a refund on Invoiced, however, actually sending those funds back to your customer will be left up to you since the original payment was not processed through Invoiced.


[title] Vendors
[path] Accounts Payable/

This guide will walk you through the steps to create and manage your vendors within Invoiced, ensuring a smooth and efficient process for handling your accounts payable.

## Creating a New Vendor

### Step 1: Access Vendor Management

Navigate to the Vendors section within your Invoiced dashboard. This area is dedicated to managing all your vendor-related information.

### Step 2: Add a New Vendor

Click on the `Add Vendor` button. You will be prompted to fill in details about your vendor, including:

- **Vendor Name**: The official name of the vendor's business.
- **Contact Information**: Include email, phone number, and address. This information is crucial for sending payments and communicating with the vendor.
- **Payment Terms**: Specify the payment terms agreed upon with the vendor, such as net 30 days.
- **Payment Methods**: Select the preferred payment method for the vendor, such as ACH, check, or credit card.

### Step 3: Save Vendor Information

After entering all necessary details, click `Save` to add the vendor to your account. The vendor will now appear in your Vendors list, and you can start processing invoices and payments for them.

## Managing Vendors

### Viewing Vendor Details

To view details on a specific vendor, simply click on their name in the Vendors list. Here you can see all relevant information, including contact details, payment terms, and transaction history.

### Editing Vendor Information

If you need to update a vendor's details, click on the `Edit` button within the vendor's profile. Make any necessary changes and click `Save` to update the information.

### Removing a Vendor

Should you need to remove a vendor from your account, you can do so by selecting the vendor and clicking on the `Delete` button. Please note that this action may not be reversible, and you should ensure all transactions with the vendor are complete before removal.

## Best Practices for Vendor Management

- **Regularly Update Vendor Information**: Keep vendor contact details and payment information up to date to avoid payment delays or miscommunication.
- **Set Clear Payment Terms**: Establish and maintain clear payment terms with each vendor to ensure timely payments and maintain good vendor relationships.
- **Monitor Vendor Performance**: Keep track of vendor performance, including the quality of goods or services and adherence to delivery schedules. This can help you make informed decisions about continuing or adjusting your vendor relationships.

Invoiced makes it easy to add, manage, and maintain vendor relationships, enabling your business to run more smoothly and efficiently. By following these steps and best practices, you can ensure a seamless process for managing your accounts payable.

[title] A/P Inbox
[path] Accounts Payable/

Invoiced's A/P Inbox feature revolutionizes the way accounts payable teams manage their communication and invoice submissions. This centralized email inbox streamlines the process of receiving invoices and handling payment status inquiries directly within the Invoiced platform. This documentation guides you through effectively using the A/P Inbox feature, ensuring your accounts payable operations run smoothly and efficiently.

## Overview of the A/P Inbox Feature

The A/P Inbox provides a dedicated email address to which vendors can send invoices and payment inquiries. This feature ensures that all accounts payable communications are centralized, making it easier for your team to manage and respond to vendor communications efficiently.

### Key Benefits:

- **Centralization**: Keeps all accounts payable communications in one place, reducing the risk of lost or overlooked emails.
- **Efficiency**: Streamlines the invoice submission process, allowing for quicker processing and payment.
- **Accessibility**: Enables accounts payable teams to view and respond to emails directly within the Invoiced application, enhancing productivity.

## Setting Up the A/P Inbox

### Step 1: Accessing the A/P Inbox Settings

- Log into your Invoiced account and navigate to the `Settings` section.
- Locate and select the `A/P Inbox` option to configure your dedicated accounts payable email address.

### Step 2: Configuring Your A/P Email Address

- Invoiced will provide a unique email address for your A/P Inbox. This address can be customized to match your company's naming conventions, making it easily recognizable to your vendors.
- Share this email address with your vendors, instructing them to send their invoices and payment inquiries to this centralized inbox.

## Using the A/P Inbox

### Viewing and Managing Emails

- Access the A/P Inbox from your Invoiced dashboard. Here, you'll see a list of all emails received at your dedicated A/P email address.
- Select an email to view its contents. Invoiced allows you to directly view attachments, such as invoices, making it easier to process them efficiently.

### Responding to Emails

- Within the A/P Inbox, you can reply to emails, facilitating direct communication with your vendors from within the platform.
- For inquiries related to payment status or invoice details, you can provide timely responses, enhancing your vendor relationships.

### Processing Invoices

- For emails containing invoice attachments, you can directly initiate the invoice processing workflow within Invoiced. This integration streamlines the transition from invoice receipt to payment processing.

## Best Practices for A/P Inbox Management

- **Regular Monitoring**: Ensure that your accounts payable team regularly checks the A/P Inbox for new submissions and inquiries to maintain timely processing.
- **Vendor Communication**: Clearly communicate the A/P Inbox email address to your vendors, specifying it as the preferred method for invoice submissions and inquiries.
- **Training**: Provide training for your accounts payable team on managing and responding to emails within the A/P Inbox to ensure consistent and efficient communication.
- **Security Awareness**: Educate your team on security best practices to prevent phishing or fraudulent invoice submissions through the A/P Inbox.

The A/P Inbox feature in Invoiced is designed to centralize and simplify the management of accounts payable communications. By leveraging this feature, you can enhance the efficiency of your invoice processing and maintain strong, responsive relationships with your vendors.

[title] Credit Card
[path] Accounts Payable/Payments/

This guide provides detailed instructions on setting up and utilizing the credit card payment method within Invoiced, highlighting the credit card wallet feature for securely storing payment information and the prerequisites for paying vendors via credit card.

## Setting Up Credit Card Payments

### Step 1: Accessing Payment Methods

Log into your Invoiced account and navigate to the `Settings` section. Within Settings, locate the `Payment Methods` area, which is your hub for configuring how you pay your vendors.

### Step 2: Configuring the Credit Card Wallet

Invoiced features a credit card wallet, a secure storage solution for your credit card details, enabling you to manage multiple credit cards in one place. To add a credit card to your wallet:

- Select the option to `Add Payment Method`.
- Choose `Credit Card` as the payment type.
- Enter your credit card details, including the card number, expiration date, and CVV code. You may also name the card for easier identification (e.g., "Corporate Visa").

### Step 3: Saving Your Credit Card Information

After entering your card details, save your information to securely store it within your credit card wallet. Invoiced encrypts and stores your data securely to ensure compliance and protect against unauthorized access.

## Using Credit Card Payments

### Prerequisites for Credit Card Payments

- **Vendor Requirements**: To make a payment via credit card, ensure the vendor is part of your Invoiced network and has enabled credit card processing. This setup allows for direct and secure transactions between your account and the vendor.

### Step 1: Choosing a Bill to Pay

Navigate to the `Bills` section and select the bill(s) you intend to pay. Ensure the selected vendor accepts credit card payments.

### Step 2: Selecting the Credit Card Payment Method

Upon choosing a bill for payment, proceed to the payment method selection. From your credit card wallet, select the credit card you wish to use for the payment.

### Step 3: Confirming and Processing the Payment

Review the payment details, including the total amount and the vendor information. Confirm your payment details and submit the payment. Invoiced will process the transaction using the selected credit card, and you will receive confirmation once the payment is successfully made.

### Step 4: Monitoring Payment Status

After submitting your payment, you can monitor the status directly within Invoiced. The platform updates the bill status to `Paid` upon successful transaction completion, providing a clear and updated view of your financial obligations.

## Best Practices for Credit Card Payments

- **Secure Credit Card Management**: Regularly review and manage your credit card wallet, ensuring that all cards are current and removing any that are no longer valid.
- **Vendor Communication**: Confirm with your vendors that they accept credit card payments and have enabled the necessary settings in their Invoiced account to receive such payments.
- **Transaction Monitoring**: Keep an eye on your credit card statements and Invoiced transaction history to quickly identify and address any discrepancies.

By following these steps, you can leverage the convenience and security of credit card payments within Invoiced, streamlining your accounts payable processes while ensuring your transactions are managed efficiently and securely.

[title] Save to Invoiced
[path] Accounts Payable/

Signing up for a free Invoiced account allows you to securely receive invoices from vendors that use Invoiced. You can access historical invoices, search and filter, generate reports, connect your accounting system, and more with an Invoiced account.

# Save to Invoiced versus Guest Mode

When using the Save to Invoiced option you gain these advantages over viewing and paying an invoice as a guest without an account.

| **Feature**                     | **Guest Mode** | **Save to Invoiced** |
| ------------------------------- | -------------- | -------------------- |
| View Invoice                    | ✓              | ✓                    |
| Pay Invoice                     | ✓              | ✓                    |
| Pay Multiple Invoices at Once   |                | ✓                    |
| View Estimate                   | ✓              | ✓                    |
| Approve and Pay Estimates       | ✓              | ✓                    |
| View Credit Note                | ✓              | ✓                    |
| Apply Credits                   |                | ✓                    |
| Approve Payment Plans           | ✓              | ✓                    |
| View Account Statements         | ✓              | ✓                    |
| Messaging                       |                | ✓                    |
| View Account History            |                | ✓                    |
| Advance Payments                |                | ✓                    |
| Manage Payment Methods          |                | ✓                    |
| Enroll in AutoPay               |                | ✓                    |
| Update Contact Information      |                | ✓                    |
| One Portal for Multiple Vendors |                | ✓                    |
| Accounting/ERP Integrations     |                | ✓                    |
| Invoice Approvals               |                | ✓                    |
| Additional Payment Methods      |                | ✓                    |


[title] Invoiced Business Network
[path] Accounts Payable/

### Joining a Vendor's Network

Upon accepting an invitation to join a vendor's network within Invoiced, the vendor will be automatically added to your account. This integration allows visibility of your financial interactions with the vendor, including any past estimates, invoices, payments, and credits if you have a previous billing history with them through Invoiced.

### Receiving Invoices

When a vendor issues an invoice through the network, it will automatically generate a bill in your Invoiced account. Please note, bills within Invoiced cannot be edited if received through the network. However, you have the option to download the bill for your records in PDF or XML format by clicking on the Options button.

### Accessing Documents

The "Documents Received" section under the vendor's profile accumulates all documents sent from the vendor, including statements and invoices, providing a comprehensive view of your document history with each vendor.

### Adding and Inviting New Vendors

You have the capability to add new vendors to your Invoiced account and extend invitations for them to join the network. Upon their acceptance and completion of the onboarding process, Invoiced will automatically populate their verified contact information in their vendor profile, eliminating the need for manual requests. Any updates to the vendor's contact information will be automatically reflected in your account, ensuring that you always have the most current information.

### Vendor Verification

Before vendors can issue invoices, they are required to verify their business address and tax ID, reinforcing the security and trustworthiness of transactions within the network. This verification process ensures that you are engaging with legitimate businesses and safeguards against potential impersonation fraud.

With these features, Invoiced streamlines the management of vendor relationships and transactions, ensuring accuracy, security, and efficiency in your financial operations.

[title] Invoice Capture
[path] Accounts Payable/

Invoiced introduces the innovative Invoice Capture feature, designed to streamline the accounts payable process by automating the creation of bills from uploaded invoices. This powerful tool allows users to upload an invoice received from a vendor, after which Invoiced automatically extracts relevant details and generates a corresponding bill within the platform. This documentation outlines the steps to effectively utilize the Invoice Capture feature, ensuring efficient and accurate bill processing.

## Overview of the Invoice Capture Feature

Invoice Capture leverages advanced data extraction technology to identify and pull crucial information from uploaded invoices, such as vendor details, invoice date, due date, and amount. This automation significantly reduces manual data entry, minimizes errors, and accelerates the accounts payable workflow.

### Key Benefits:

- **Efficiency**: Dramatically reduces the time spent on data entry and bill creation.
- **Accuracy**: Minimizes human error by automatically capturing invoice details.
- **Streamlined Process**: Simplifies the transition from invoice receipt to bill payment.

## Setting Up and Using Invoice Capture

### Step 1: Accessing Invoice Capture

- Log into your Invoiced account.
- Navigate to the `Bills` section, where you will find the option to utilize the Invoice Capture feature.

### Step 2: Uploading an Invoice

- Click on the `Upload Invoice` button or the designated area for invoice capture.
- Select the invoice file from your computer. Invoiced supports various file formats, including PDF, JPG, and PNG.
- Once selected, upload the file to initiate the automatic data extraction process.

### Step 3: Reviewing Captured Details

- After the invoice is uploaded, Invoiced processes the file and extracts relevant details to create a bill.
- Review the automatically captured information to ensure accuracy. This includes:
  - Vendor name
  - Invoice number
  - Invoice date
  - Due date
  - Total amount
  - Line items (if applicable)
- You can edit any details as necessary to correct inaccuracies or add additional information.

### Step 4: Confirming Bill Creation

- Once you have reviewed and, if needed, corrected the details, confirm the creation of the bill in Invoiced.
- The bill will then be added to your account, ready for further processing, such as approval and payment.

## Best Practices for Using Invoice Capture

- **Quality Scans**: Ensure uploaded invoices are clear and legible to maximize the accuracy of data extraction.
- **Regular Review**: Always review the captured details for accuracy before confirming bill creation, especially for complex invoices with multiple line items.
- **File Management**: Maintain organized records of uploaded invoices for reference and auditing purposes.
- **Vendor Information**: Keep your vendor information up to date in Invoiced, as accurate vendor profiles can enhance the accuracy of invoice capture.

The Invoice Capture feature in Invoiced transforms the bill creation process, offering a seamless transition from invoice receipt to bill payment. By following these steps and best practices, you can leverage this feature to enhance the efficiency and accuracy of your accounts payable operations.

[title] Bills
[path] Accounts Payable/

Invoiced streamlines the process of managing bills, from creation through approval to payment. This guide will walk you through each step of the process, ensuring you can efficiently manage your accounts payable.

## Creating Bills

### Step 1: Accessing the Bills Section

Log in to your Invoiced account and navigate to the `Bills` section. This dedicated area allows you to view, create, and manage all your bills.

### Step 2: Adding a New Bill

Click the `Add Bill` button to initiate the creation of a new bill. You'll be prompted to enter key details, including:

- **Vendor Information**: Select the relevant vendor from your list. If the vendor is not already listed, you may need to add them to your system.
- **Bill Date and Due Date**: Input the date the bill was issued and its due date.
- **Amount Due**: Enter the total amount owed.
- **Description**: Provide a brief description of the bill for reference.
- **Attachments**: Optionally, attach a digital copy of the bill for record-keeping.

Once all information is entered, click `Save` to add the bill to your system.

## Managing Bills

In the `Bills` section, you can easily view and organize your bills. Filters allow you to sort bills by various criteria, such as due date, amount, or status, to prioritize and manage your payments effectively.

### Editing Bills

Should you need to edit a bill's details, simply find the bill in your list, select it, and click the `Edit` button. After making the necessary adjustments, save your changes to update the bill's information.

### Approving or Rejecting Bills

Invoiced allows for an approval workflow, ensuring bills are reviewed before payment:

### Approval Process

- **Setting Up Approvals**: Define approval workflows in your account settings, specifying which bills require approval and by whom.
- **Reviewing Bills**: Assigned approvers will receive notifications to review bills pending approval. They can then review the bill details and attached documents.
- **Approving/Rejecting**: Approvers can either approve the bill for payment or reject it. If rejected, they should provide a reason, and the bill may be sent back to the issuer for correction.

## Paying Bills

Once a bill is approved, it can be paid directly through Invoiced:

### Step 1: Selecting Bills for Payment

From the approved bills list, select the bill(s) you wish to pay. Invoiced supports batch processing, allowing you to pay multiple bills at once.

### Step 2: Choosing a Payment Method

Select your desired payment method. Invoiced supports various payment methods, including ACH, credit card, and eCheck. The options available to you will depend on your vendor's preferences.

### Step 3: Confirming and Processing Payment

Review the total amount and details of the payment. Confirm the transaction by clicking on the `Pay Now` button. Invoiced will process the payment, and the bill status will automatically update to `Paid`.

### Step 4: Payment Confirmation

You will receive a confirmation of the payment, and the transaction details will be recorded in your account for future reference.

## Best Practices for Efficient Bill Management

- **Regular Review**: Regularly check your bills to stay on top of due dates and avoid late payments.
- **Maintain Accurate Records**: Keep detailed records of all bills and payments to simplify financial management and auditing.
- **Leverage Automation**: Utilize Invoiced's automation features, such as recurring bills and automatic payment reminders, to streamline your accounts payable process.

By following this guide, you can effectively create, manage, approve, reject, and pay bills using Invoiced, ensuring a smooth and efficient approach to managing your company's financial transactions.

[title] Vendor Credits
[path] Accounts Payable/

Invoiced has tracking for vendor credits alongside your bills. This guide details the process for creating, managing, and approving or rejecting vendor credits within the Invoiced platform, ensuring seamless integration into your accounts payable workflow.

## Creating Vendor Credits

### Step 1: Navigate to the Vendor Credits Section

Log in to your Invoiced account and go to the `Vendor Credits` section. This area is specifically designed for managing credits issued by your vendors.

### Step 2: Add a New Vendor Credit

Click on the `Add Credit` button to start the process of adding a new vendor credit. You will need to provide various details, including:

- **Vendor Name**: Select the vendor issuing the credit from your existing list of vendors. If the vendor is not listed, you may need to add them to your system first.
- **Credit Date**: Enter the date the credit was issued.
- **Credit Amount**: Specify the amount of the credit issued by the vendor.
- **Description**: Add a brief description or reason for the credit.
- **Reference Number**: If applicable, enter a reference number associated with the credit for tracking purposes.

### Step 3: Attach Supporting Documents (Optional)

Attach any relevant documents or correspondence from the vendor that supports the credit. This could include credit memos, emails, or other documentation.

### Step 4: Save the Vendor Credit

After entering all necessary information, click `Save` to add the vendor credit to your account. The credit will now be available for application to future bills or for reconciliation purposes.

## Managing Vendor Credits

Within the `Vendor Credits` section, you can view and manage all recorded credits. This centralized view allows you to:

- **Review Credit Details**: Click on any credit to view its full details, including the vendor, amount, and any attached documentation.
- **Edit Credits**: If you need to update any information related to a credit, select the credit and click on the `Edit` button. Make the necessary changes and save to update the record.
- **Apply Credits to Bills**: Credits can be applied to open bills from the respective vendor. This process reduces the payable amount on future invoices, streamlining your payment workflow.

## Approving or Rejecting Vendor Credits

Depending on your organization's internal controls, vendor credits may require approval before they can be applied to bills.

### Setting Up Approval Workflows

1. **Define Approval Criteria**: In the settings, specify the conditions under which vendor credits require approval. Criteria can include credit amounts, vendors, or other relevant factors.
2. **Assign Approvers**: Determine who in your organization has the authority to approve or reject vendor credits. Assign these roles within the system.

### Approving Credits

- Approvers will receive notifications when a credit falls within the defined criteria needing approval.
- Upon review, they can approve the credit, making it available for use against bills.

### Rejecting Credits

- If a credit does not meet your organization's standards or seems erroneous, it can be rejected.
- Provide a reason for the rejection, which can be communicated back to the vendor for clarification or correction.

## Best Practices for Vendor Credit Management

- **Maintain Accurate Records**: Keep detailed records of all vendor credits, including dates, amounts, and supporting documentation.
- **Regular Reconciliation**: Periodically reconcile vendor credits with your accounts payable to ensure accuracy in your financial reporting.
- **Communicate with Vendors**: Clearly communicate with vendors regarding any discrepancies or issues with credits to resolve them promptly.

By following these steps, you can effectively manage vendor credits within Invoiced, ensuring they are accurately recorded, approved, and applied, thereby maintaining the integrity of your financial processes.

[title] Print Check
[path] Accounts Payable/Payments/

This feature enables businesses to generate checks directly within the platform, creating a printable file that can be printed on compatible check stock for a traditional mailing process. The following documentation outlines how to set up and use the Print Check payment method within Invoiced.

## Setting Up Print Check Payments

### Step 1: Access Payment Settings

Log into your Invoiced account and navigate to the `Settings` menu. Find the `Payment Methods` section, which allows you to manage your preferred methods for paying vendors.

### Step 2: Enable Print Check

Within the Payment Methods options, select `Add Payment Method` and choose `Print Check` from the list. This action enables the Print Check feature for your account.

### Step 3: Configure Printer and Check Stock

Before printing your first check, ensure your printer is correctly set up and you have compatible check stock. The configuration might include:

- Adjusting printer settings for check printing (e.g., alignment, quality).
- Ensuring you have the correct type of check stock, which matches the layout of the checks generated by Invoiced (e.g., top, middle, or bottom check position).

## Using Print Check for Vendor Payments

### Step 1: Select Bills for Payment

Go to the `Bills` section on your Invoiced dashboard and select the invoices you wish to pay. Verify that the vendors accept check payments.

### Step 2: Choose Print Check as Payment Method

After selecting the bills, proceed to the payment method selection and choose `Print Check`. You will then enter the necessary details for the check, such as:

- Payment amount
- Date
- Payee information

### Step 3: Generate Printable Check File

Confirm the payment details, and Invoiced will generate a printable check file. This file is formatted to fit your specified check stock layout.

### Step 4: Print the Check

Download the printable check file from Invoiced and print it on your prepared check stock. Ensure the printout aligns correctly with the check stock, and all details are legible.

### Step 5: Mail the Check

Once printed, you may need to sign the check manually, depending on your company's internal controls. Finally, mail the printed check to the vendor's payment address.

## Best Practices for Print Check Payments

- **Printer and Check Stock Compatibility**: Regularly ensure that your printer is compatible with the check stock being used and that settings are correctly adjusted for high-quality prints.
- **Security Measures**: Store your check stock securely to prevent unauthorized access. Consider using check stock with security features to reduce the risk of fraud.
- **Record Keeping**: Keep a digital record of all checks printed and mailed, including the check number, amount, payee, and date, for reconciliation and auditing purposes.
- **Vendor Communication**: Inform your vendors that they will be receiving payments via mailed checks to manage their expectations regarding payment processing times.

By following these steps, you can efficiently utilize the Print Check payment method within Invoiced to manage your accounts payable process, combining the convenience of digital transaction management with the traditional security of check payments.

[title] External Payments
[path] Accounts Payable/Payments/

Invoiced accommodates the recording of payments made to vendors outside of the platform. This functionality ensures that your financial records remain accurate and up-to-date, even when payments are processed through other channels. This documentation will guide you through the process of recording external payments to vendors within Invoiced.

## Overview

There are various reasons why a payment to a vendor might be made outside of Invoiced, such as through direct bank transfers, cash payments, or using other payment platforms. Recording these external payments in Invoiced is crucial for maintaining accurate account balances, ensuring proper financial reporting, and keeping track of all vendor transactions within a single system.

## Steps to Record External Payments

### Step 1: Accessing the Vendor Profile

- Log into your Invoiced account.
- Navigate to the `Vendors` section and select the vendor to whom the external payment was made. This will open the vendor’s profile, where you can manage transactions related to that vendor.

### Step 2: Adding a New Payment

- Within the vendor’s profile, look for an option to `Add Payment`, `Record Payment`, or a similar function that allows you to document a new transaction.
- Click on this option to begin recording the external payment.

### Step 3: Entering Payment Details

- You will be prompted to enter details of the payment. Be sure to include:
  - **Date**: The date the payment was made.
  - **Amount**: The total amount paid to the vendor.
  - **Payment Method**: Indicate the method used for the external payment (e.g., bank transfer, cash).
  - **Reference Number**: If available, include a transaction reference number or check number for tracking purposes.
  - **Notes**: Optionally, add any relevant notes regarding the payment, such as the reason for using an external payment method.

### Step 4: Linking Payment to Bills (If Applicable)

- If the external payment corresponds to specific bill(s) in Invoiced, you have the option to link the payment to these bill(s). This step is crucial for reconciling the payment with your accounts payable.
- Select the bill(s) that the payment covers. This will adjust the bill status to `Paid` or decrease the outstanding amount, depending on the payment coverage.

### Step 5: Saving the Payment Record

- After entering all necessary information, save the payment record. The payment will now be reflected in the vendor’s transaction history and your financial overview in Invoiced.

## Best Practices for Recording External Payments

- **Prompt Recording**: Record external payments as soon as they are made to keep your financial records in Invoiced current.
- **Documentation**: Keep physical or digital copies of payment proofs (e.g., bank transfer receipts, check copies) for your records and potential auditing purposes.
- **Accuracy**: Ensure all payment details are accurately entered to reflect the true nature of the transaction.
- **Review and Reconciliation**: Regularly review your vendor transactions and payments in Invoiced to reconcile any discrepancies and ensure your accounts payable is up to date.

By following these steps, you can efficiently record payments made to vendors outside of Invoiced, ensuring comprehensive tracking and management of all financial transactions within your accounts payable system. This practice enhances the integrity of your financial reporting and simplifies vendor payment reconciliation.

[title] Approval Workflows
[path] Accounts Payable/

Invoiced enhances your accounts payable (A/P) management by integrating Approval Workflows, ensuring that invoices undergo a structured review before payment. Upon receiving an invoice from a vendor, Invoiced automatically generates a bill marked as "Needs Approval" within your account. These workflows are designed to specify the approval hierarchy and criteria for each bill, enhancing control and oversight over payments.

### Setting Up an Approval Workflow

1. **Initiate Workflow Creation**: Go to `Settings > Approval Workflows` and click on `New Approval Workflow` to begin setting up a custom workflow.
2. **Define Approval Conditions**: Use the `Add Condition` option to specify criteria for bill approval. For instance, you can automate the approval of bills below a certain threshold, while stipulating more stringent approval requirements for larger amounts. This includes specifying the number of approvers required and their respective roles within your organization.

### Managing New Bills

- **Notification of Bills**: When a bill that meets the criteria of an Approval Workflow is received, the designated approver(s) will be notified to review and approve the bill.
- **Bill Rejection and Communication**: In cases where a bill is rejected, the system prompts you to provide feedback or reasons for the rejection, which is then communicated to the vendor. Should the vendor revise and resend the invoice, the updated bill will revert to a "Needs Approval" status, initiating the review process once again.

### Benefits and Features

- **Streamlined Approval Processes**: Invoiced's Approval Workflows automate and standardize the review of incoming invoices, ensuring that only verified bills are processed for payment.
- **Customizable Criteria**: Flexibility in setting conditions for bill approvals allows for tailored workflows that match your business's operational needs and risk management policies.
- **Enhanced Communication**: The feature not only simplifies internal processes but also fosters clearer communication with vendors, especially in instances where invoices need adjustments.

By leveraging Approval Workflows, Invoiced provides businesses with a powerful tool to enhance the efficiency, accuracy, and security of their accounts payable operations.

[title] Standard Reports
[path] Reporting/

Invoiced includes robust reporting capabilities out of the box to give you insight into your accounts receivable.

## Standard Reports

Invoiced ships with over 30 reports out of the box. The standard reports allow you to see common perspectives on your A/R data, including aging, sales, and payment activity

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/iJF6Gamuuf5vPQMNuD6Dt_standard-reports.png "Standard Reports")

### Viewing Reports

Reports are viewed within the Invoiced application. You can click on most results in order to drill down into the data within Invoiced. If you need to download your report you can do export the results into a PDF or spreadsheet with the click of a button.

## Limits

The reporting feature has these limits in place to preserve system resources.

| **Description**                       | **Limit** |
| ------------------------------------- | --------- |
| Maximum results returned on a report  | 10,000    |
| Maximum reports building concurrently | 3         |


[title] Zapier
[path] Integrations/

Zapier allows you to easily build and automate workflows between Invoiced and more than 1,500 other cloud apps (at the time of this writing).

You can install the [Invoiced Zapier integration here](https://zapier.com/zapbook/invoiced)

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/QYw0lvjxTk36-6DvxMoAS_zapier-integration.png "Zapier Integration")

## Triggers

You can be notified on Zapier when the following events happen on Invoiced:

- New Contact
- New Credit Note
- New Customer
- New Estimate
- New Invoice
- Invoice Paid in Full
- New Note
- New Payment
- New Subscription
- Subscription Canceled
- New Task

## Actions

You can perform the following actions on Invoiced from Zapier:

- Create Contact
- Create Credit Balance Adjustment
- Create Credit Note
- Create Customer
- Update Customer
- Create Estimate
- Create Invoice
- Create Note
- Create Pending Line Item
- Create Subscription
- Create Task

## Searches

You can search for the following records on Invoiced in your Zapier workflows:

- Find or Create Customer
- Find Invoice
- Find Estimate
- Find Credit Note


[title] QuickBooks Desktop
[path] Integrations/Accounting Sync/

Invoiced integrates with QuickBooks Desktop out of the box to extend the accounts receivable capabilities of QuickBooks. This document describes how to set up the integration and how it works in detail.

## Overview

The QuickBooks Desktop integration ships with the following capabilities:

- Importing outstanding invoices from QuickBooks Desktop
- Importing customers from QuickBooks Desktop
- Reconciling payments received on Invoiced to QuickBooks Desktop
- Syncing payments recorded on QuickBooks Desktop to Invoiced

## Data Flow

| **Invoiced** | **Sync to Invoiced** | **Sync to QuickBooks** | **QuickBooks Desktop** |
| ------------ | -------------------- | ---------------------- | ---------------------- |
| Customer     | ←                    |                        | Customer               |
| Contact      | ←                    |                        | Contact                |
| Invoice      | ←                    |                        | Invoice                |
| Credit Note  | ←                    |                        | Credit Memo            |
| Payment      | ←                    | →                      | Payment                |

## Supported QuickBooks Versions

The QuickBooks Desktop integration works with these versions of QuickBooks (Windows only).

- QuickBooks Enterprise Solutions (2015 or later)
- QuickBooks Premier (2015 or later)
- QuickBooks Pro (2015 or later)
- Canadian editions of QuickBooks (2015 or later)
- UK editions of QuickBooks (2015 or later)

## Setup

1. In order to begin syncing with QuickBooks Desktop first go to **Apps** → **QuickBooks Desktop**.
2. Click **Install**.
3. Adjust the integration settings to suit your requirements.
4. Click **Download QWC configuration**.
5. Click **Generate QWC configuration** to download the QWC file.
6. Install [QuickBooks Web Connector](https://quickbooks.intuit.com/learn-support/en-us/install-new-products/set-up-quickbooks-web-connector/00/185852) on the computer where QuickBooks is installed, if you have not already.
7. Open the downloaded `invoiced.qwc` file in QuickBooks Web Connector.
8. Enter in the generated password. Make sure you do this before closing the configuration screen on Invoiced because the password is irretrievable once you click **Done**.
9. Once you have installed the web connector you can adjust the integration settings to suit your requirements.

## Usage

In this section you will learn how to use the QuickBooks Desktop integration.

### Syncing data

These are the steps to run an Invoiced sync. This will sync the supported data flows between QuickBooks and Invoiced.

1. Open QuickBooks Web Connector.
2. Close any open windows on QuickBooks associated with the documents that will be synced.
3. Check *Invoiced* and click **Update Selected**.
4. When the sync has completed you should see your data on Invoiced.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/cYu56BaQxIlLem-gbRo5l_qb-desktop-successful-invoice-sync.png "QuickBooks Desktop Successful Sync")

:::hint{type="info"}
Once the integration is fully configured, new transactions will sync with Invoiced on a going forward basis. The integration does not sync data created prior to the integration being installed. See [Importing Data](docId\:cQhu6gZbwe_U3rmPCEaZh) for instructions on how to import transactions prior to installing Invoiced.
:::

### Turning on automatic syncing

You can tell QuickBooks Web Connector to run syncs automatically by turning on the **Auto-Run** setting and specifying how often you want the sync to run in the **Every\_Min** box

## Edge Cases

Here we have documented all of the limitations, nuances, and edge cases to be aware of when using the QuickBooks Desktop integration.

- Customers on Invoiced are mapped to customers on QuickBooks by the name. If you have duplicate customer names in QuickBooks, we recommend merging them before you set up the integration. Duplicate customers can cause syncing issues with Invoiced.&#x20;
- Changing the customer associated with an invoice, credit memo, or payment is not supported. If you do this in QuickBooks, it will cause a sync error. Instead, you should void the record in QuickBooks and recreate it under the correct customer.
- Modifications to invoices on Invoiced after they are synced will do nothing to the corresponding invoice in QuickBooks.
- Refunds are not currently synced. Any refunds initiated through Invoiced must be reconciled by hand.
- If you are using jobs, the default behavior is that transactions will roll up to the top-level customer on Invoiced. If you wish to have separate customers for each job, please contact Invoiced Support to enable that functionality for your account.
- The integration is a going-forward sync and only imports transactions that are created or updated after the initial sync. If an invoice is partially paid BEFORE the initial sync and is then paid in full AFTER, the invoice will have an incorrect balance on Invoiced because the original partial payment was not seen by the integration. In order to correct this, the original payment will need to be re-created on Invoiced, or the synced invoice and payment must be deleted on Invoiced.

## Troubleshooting

When a sync fails you will be able to see the error message in the *Recent Syncs* section in **Settings** → **Accounting Sync**. Normally the error message will include the invoice # that failed and a detailed reason why it could not be synced. Oftentimes there is a manual action required on your end.

Below we have documented commonly encountered errors and recommended resolutions. If you are still unable to get your books synced then please contact Invoiced Support for further assistance.

### Sync is not working

Please make sure you are connected to the internet in order to connect to Invoiced.

### Mismatched password

Every time you download a .qwc file please make sure you are using the associated password. Each time you generate a configuration this will generate a fresh password.

### Updating the .qwc file

If you are installing a new .qwc file, please make sure that you clear out the old sync first if you are replacing an existing sync.

### Could not start QuickBooks

You will run into this error if QuickBooks is not open, and you are running the sync through the web connector.  The remedy is to give the sync the ability to login automatically into QuickBooks, even when QuickBooks is closed.

In QuickBooks go to **Edit** → **Preferences** → **Integrated Applications** and then click **Properties** under the connected integration.  In the properties screen, choose "Allow this application to login automatically.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/iRyxvtuuP8DYiApxhN7dZ_quickbooks-desktop-auto-login-integration.png "QuickBooks Desktop Enable Auto Integration Login")

### Object specified in the request cannot be found

The error message `Object "...." specified in the request cannot be found.` on a payment record can often be caused by one of these reasons:

1. The invoice is already paid on QuickBooks. If you try to create a payment on Invoiced for an invoice that is already paid on QuickBooks then you can see this error. The solution is to ignore the error message.
2. You use multiple A/R accounts in QuickBooks. If the payment is applied to multiple invoices that use different A/R accounts then you can see this error. The solution is to first void the failing payment on Invoiced. Then you must create a new payment for each A/R account that is only applied to invoices of the same A/R account.

### 1000 Error

The error message `1000 - There has been an internal error when processing the request.` happens when the data our integration requested cannot be extracted. The 1000 error indicates that the QuickBooks company file has corrupt data and needs to be rebuilt. QuickBooks company files can become corrupt for many reasons. The probability of a corrupt company file increases as your company file size grows.

If rebuilding your company file does not work then we recommend sending your QuickBooks Web Connector log file to Intuit support to resolve the issue. There are also QuickBooks consultants that specialize in rebuilding or splitting corrupt company files as a possible solution.

### Moved or renamed company file

If you move or rename your QuickBooks company file, then you will find that you get `QWC1013 - Could not start QuickBooks` errors. In order to resolve the error, you need to download a new QWC file from Invoiced and re-install it into QuickBooks Web Connector.

### Unable to Get from Registry Key

This can happen when you move your company file from one machine to another. The web connector is missing settings, which are missing from the new machine.

1. In Windows search, enter **regedit.**
2. Navigate to Computer\HKEY\_CURRENT\_USER\Software\Intuit\QBWebConnector\SOAPWebServices
3. Right-click and delete each connection.
4. Log in to your QuickBooks company file as Admin.
5. Navigate to **Edit >** **Preferences**.
6. Selec&#x74;**&#x20;Integrated Applications.**
7. Select **Company Preferences.**
8. Next to each connection, select **Remove**.
9. Follow the [Setup](https://docs.invoiced.com/accounting/quickbooks-desktop#yi-setup) instructions again and run the sync.&#x20;

### Application is busy. Try again Later

This message in the web connector indicates that the sync is stuck. To solve it, log in to Invoiced and navigate to settings > accounting sync. Cancel the sync that is in progress. Then, start a new sync in the web connector.

[title] ERP Connect
[path] Integrations/Accounting Sync/

ERP Connect allows you to securely integrate your on-premise ERP system with Invoiced

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/-WgqYAs9yvULnUTBMTH6R_erp-connect.png "ERP Connect Data Flow")

## Capabilities

ERP Connect can upload data in real-time to your Invoiced account(s) through one of the supported data sources. It also has the ability to download data from Invoiced on a daily, weekly, or monthly schedule.

Data sources for ingesting data:

- Spreadsheet files (CSV, XLS, XLSX)
- Invoice PDFs
- Secondary file attachments (any file type)

File formats for outputting data from Invoiced:

- CSV
- XLS
- XLSX

## Installation

1. [Download ERP Connect here](https://invoiced.com/download) for your operating system.
2. Windows: Open the setup.exe file you downloaded and the installer will guide you through the installation process.

### System Requirements

| Operating System | Minimum Supported Version |
| ---------------- | ------------------------- |
| Windows          | Windows 7 or above        |
| Mac OS X         | OS X 10.10 or above       |

Other Requirements:

- At least 2GB of memory
- 1 GHz+ processor
- 300MB of disk space

### Security

Since ERP Connect is often running in privileged environments we have taken special care to design a secure system. In order to function, ERP Connect only needs to be able to communicate with api.invoiced.com. It uses the Invoiced API to upload and download data from Invoiced. ERP Connect does not require opening any ports in your firewall or hosting a public-facing service because the application only makes outgoing API calls to Invoiced. This design makes it easier to operate ERP Connect behind a corporate firewall.

All communication with Invoiced is encrypted over a TLS 1.2+ connection. Once installed, the application will periodically check for updates and automatically upgrade to the latest version. You can learn more about the security measures taken at Invoiced on our [security page](https://www.invoiced.com/product/security).

## Usage

In order to use ERP Connect you must first have an Invoiced account. Once you have an Invoiced account and ERP Connect installed then you are ready to begin using the application.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/mctxGQsKF3VnzpGyxArI-_erp-connect-app.png "ERP Connect Application")

### Creating a Mapping

The key concept in ERP Connect is a mapping. Mappings describe a data flow between Invoiced and a third party system.

The first place to start is by adding your Invoiced API key in the **Settings** page. You can obtain an API key from the Invoiced web application at **Settings** → **Developers**.

With an API key installed you are now ready to create a mapping. Click the **New Mapping** button to begin configuring your data flow. The application will walk you through the setup process.

### Operating ERP Connect

Once configured, ERP Connect will run in the background and execute your data mappings. It is required that the computer remain on for the periods in which ERP Connect should be brokering data with Invoiced.

If you find any issues with your data syncing then you can go to the **Errors** page in the application for troubleshooting.


[title] Slack
[path] Integrations/

With our Slack integration you can receive real-time notifications when important billing events occur. The Slack integration can notify you when a new customer is added or an invoice is paid.

## Setup

You can follow these instructions in order to set up the Slack integration on Invoiced.

1. Go to **Apps** → **Slack** in the Invoiced dashboard.
2. Click **Add to Slack**. Slack will then ask you to select a channel where you would like to receive notifications from Invoiced.
3. Click **Authorize** in order to grant the Invoiced application access to your Slack team. You will be taken to the notification settings on Invoiced.
4. You can now set up notification rules for various Slack events by clicking **Add Rule**.
5. Select the event you wish to be notified about and click **Add**. In this example we want to be notified when an invoice is paid in full.
6. You are now set up to receive notifications on Slack. You can continue to add as many notification rules as needed. As events happen you will begin to see notifications in Slack.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/QEHpAefYPiSQYDvYn6lEZ_slack-notifications.png "Incoming Slack Notifications")

### About Invoiced

In order to use the Slack integration you must have an active Invoiced account. You can learn more about Invoiced [here](https://www.invoiced.com). You can also view our [Privacy Policy](https://www.invoiced.com/legal/privacy) and [Terms of Service](https://www.invoiced.com/legal/terms).

[title] Earth Class Mail
[path] Integrations/

Earth Class Mail's CheckStream product gives you a physical address where customers can send checks. As checks are received they will be automatically opened, scanned, deposited, and added to Invoiced as a customer payment

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/W6Vjab7iD6y_vthGzuuHA_ecm-integration.png "Earth Class Mail Integration")

## Setup

We are going to walk you through setting up the Earth Class Mail integration. This assumes you have already signed up for an Earth Class Mail account. If not, you may [sign up here](https://www.earthclassmail.com/).

1. Get your Earth Class Mail API key from the Earth Class Mail application. This will be from the *API Key* section in the integration settings.
2. Go to **Apps** → **Earth Class Mail** in the Invoiced application. Click **Install**.
3. Enter in your Earth Class Mail API key. Click **Save** to enable the integration. You are now ready to start receiving checks!

## Receiving checks

Checks received through your Earth Class Mail mailbox will automatically appear on Invoiced. New check deposits are added to Invoiced once per day. When a check is detected in your mailbox, we will add it to Invoiced as an unapplied payment.&#x20;

All of the available metadata (amount, payer, check #) along with the check image will be added to the payment. These will inform the cash application system to help you match the payment to an invoice. You can download the check pdf to view any additional documents included in the envelope.




[title] QuickBooks Online
[path] Integrations/Accounting Sync/

Invoiced integrates with QuickBooks Online out of the box to extend the billing capabilities of QuickBooks. This document describes how to set up the integration and how it works in detail.

## Overview

The QuickBooks Online integration ships with the following capabilities:

- Bi-directional sync with QuickBooks Online
- New data from QuickBooks Online is synced once per hour
- Transactions generated on Invoiced post to QuickBooks Online in real-time
- Initial data sync

## Data Flow

| **Invoiced**    | **Sync To Invoiced** | **Sync To QuickBooks** | **QuickBooks Online** |
| --------------- | -------------------- | ---------------------- | --------------------- |
| Customer        | ←                    | →                      | Customer              |
| Invoice         | ←                    | →                      | Invoice               |
| Credit Note     | ←                    | →                      | Credit Memo           |
| Line Item       |                      | →                      | Products and Services |
| Payment         | ←                    | →                      | Payment               |
| Convenience Fee |                      | →                      | Invoice               |

## Setup

1. In order to begin syncing with QuickBooks Online first go to **Apps** → **QuickBooks Online**.
2. Click on **Connect to QuickBooks**. You will be redirected to QuickBooks. You will need to sign in to QuickBooks as an Administrator, if you are not already signed in.
3. Next you will be prompted to authorize Invoiced access to your QuickBooks Online organization.  Click on **Authorize**.
4. You will be redirected back to Invoiced. QuickBooks Online is now connected! Now, you can configure the accounting sync in order to tell Invoiced how to map the data into your general ledger.
5. Configure the data flows you wish to enable and any account mappings. Click **Save**.

### Syncing Convenience Fees from Invoiced to QuickBooks Online

When the **Write** setting is enabled for convenience fees, the integration will create a convenience fee invoice in QuickBooks Online. The convenience fee is applied to this invoice, so it does not create a credit in the accounting system.&#x20;

The integration will also create a product in QuickBooks with the name “Convenience Fee.” The invoice line item will be posted according to your account mapping settings in Invoiced. If you want the convenience fee line item to be posted to an alternate account, you can set this on the product in QuickBooks.&#x20;

## Usage

Once the QuickBooks Online integration is enabled it will sync data automatically per the data flows that you have enabled.

Writing data from Invoiced to QuickBooks Online will sync instantly.

Reading data from QuickBooks Online to Invoiced, such as when a new invoice is available, will sync once per hour. You can see when the last sync happened on the **Accounting Sync** page. If you wish to run a one-off sync you can click the **Sync Now** button.

### Initial Data Sync

The initial data sync feature allows you to sync data from your accounting system that was created before the integration was installed. You can run the initial data sync after you first install the integration to pick up previous transactions. The initial data sync is optional and is only performed if initiated by you.

The initial data sync can be started by going to the **Accounting Sync** page and clicking the **Initial Data Sync** button. Then you can select the type of data you want to sync and the date range for any transactions that will be synced.

You can only select a date range of at most 1 year. However, you can run multiple initial data syncs if you want to get transactions from a greater time period. Syncing more than 1,000 records at a time might not complete. If you need to sync a large volume of data, see [Importing Data](https://docs.invoiced.com/getting-started/importing-data) for instructions on how to import data through a spreadsheet.&#x20;

And here's a pro tip: if you're fetching invoices or credit notes from the past, don't forget to grab the payments, too. This way, you'll ensure your financial history is complete, with every balance perfectly in place.

Once the initial data sync is complete and you are satisfied with the results, we do not recommend using it again. The ongoing sync of the integration will keep your data up to date automatically.

### Handling Errors

On the **Accounting Sync** page you will see a *Reconciliation Errors* table which contains any sync errors that the integration encountered. Each error listed belongs to individual record that could not be synced. The error message is listed next to each failed record. When a record fails to sync it will not be re-attempted unless there is a new operation (i.e. updating the record) that triggers a new sync. You can retry syncing any failed record by clicking the **Retry** button or you can ignore the error by clicking the **Ignore** button. Errors will not go away until they are successful or ignored.

### Field Mapping

We support setting several optional fields on QuickBooks Online that do not have a standard Invoiced field. This can be useful if you are first creating invoices on Invoiced and posting to QuickBooks Online.

These additional field mappings work when a record on Invoiced has a custom field with a specific ID that corresponds to a specific field on QuickBooks Online. This gives you granular control of the data sent to QuickBooks Online.

| **Object Type** | **Invoiced Custom Field ID** | **QuickBooks Field** |
| --------------- | ---------------------------- | -------------------- |
| Invoice         | `qbo_location`               | Location             |
| Line Item       | `qbo_class`                  | Class                |

### Income Account Mapping

The *Income Account* for any line item in QuickBooks Online is derived from the associated Product or Service on QuickBooks. Our integration will match the Product or Service on QuickBooks based on the line item name.

When creating an invoice, if a Product or Service with a matching name cannot be found on QuickBooks, then our integration will create a new Product or Service. The name of the Product or Service will be the line item name. The *Income Account* for the newly created Product or Service will be the default income account you have selected in the integration settings.

You can change the *Income Account* for any line item in the **Products and Services** page on QuickBooks. This will work for any Product or Service, regardless of whether it was created by the Invoiced integration. If you find that a line item created by the Invoiced integration does not have the correct *Income Account* then it can still be changed through the **Products and Services** page.

Please consult the QuickBooks documentation for more details on how to configure Products and Services.

### Deposit Account Mapping

You can map the accounts in which payments are deposited into. By default, payments are put into *Undeposited Funds*. You can create rules to choose the deposit account for each payment method and currency combination. The deposit account can be any bank or current liability account.

### Tax Code Mapping

When the "Match Tax Rates" setting is enabled then the tax code with a matching name will be selected from QuickBooks. The tax rate selected will be the first tax rate on the line item or invoice. If there is not a tax rate but there is a sales tax amount then the default tax code from your integration settings will be used. When the tax rate name does not exactly match the name of a tax code in QuickBooks then you will receive a sync error for that invoice.

When the "Match Tax Rates" setting is disabled then the default tax code that you select in your integration settings will always be used.

## Edge Cases

Here we have documented all of the limitations, nuances, and edge cases to be aware of when using the QuickBooks Online integration.

### General

- When customers sync between Invoiced and QuickBooks, our integration stores an internal customer ID assigned by QuickBooks. If you switch to a new QuickBooks company file or delete and reimport all of your data in QuickBooks, customers will be assigned a new internal ID. This will cause customers to be mapped incorrectly between Invoiced and QuickBooks.

  If you need to change to a new QuickBooks company file, please contact our support team for assistance before making any changes.

- Any changes to data on the system other than where it originated will be ignored and potentially overwritten. For example, if an invoice was created on QuickBooks by the Invoiced integration then subsequent modifications to that invoice on QuickBooks would not sync to Invoiced. It is possible that those changes on QuickBooks would be overwritten by a future sync.

### Customers

- Customers are mapped using the customer name in Invoiced and the customer display name in Quickbooks. Please keep in mind that QuickBooks does not allow multiple customers with the same name, but Invoiced does allow duplicates.
- Customer names are truncated to 100 characters due to a character limitation in QuickBooks.
- Transactions created in Invoiced (invoices, payments, credit notes) will not post to QuickBooks Online if the transaction has a date that is in a closed accounting period.
- Customers merged in QuickBooks don't automatically merge in Invoiced. They have to be also merged on Invoiced.

### Invoices & Credit Notes

- Only issued invoices and credit notes (not a draft) on Invoiced will be synced.
- The sync will match each line item to a product or service in QuickBooks based on the line item name. If the product or service does not exist then it will create an item in QuickBooks. If the line item name is blank then a generic Invoiced item will be created.
- Line item descriptions over 4,000 characters are truncated due to a character limit in QuickBooks.
- If a line item on Invoiced has an item attached, then the product created on QuickBooks will have its SKU set to the Invoiced item ID.
- Payment terms from the invoice do not come into Invoiced from QuickBooks Online. The date and due date are synced.
- Voiding a credit note on Invoiced will not void the credit memo on QuickBooks. This is due to a technical limitation in the QuickBooks API.
- Reimbursement charges, delayed charges and delayed credits added to an invoice on QuickBooks Online will not be synced to Invoiced. These data types will be missing from the line items and invoice total. This is due to a QuickBooks Online API limitation.

### Payments

- Credit balances from Invoiced do not sync to QuickBooks Online.

## Troubleshooting

When a sync fails you will be able to see the error message in the *Recent Syncs* section in **Apps** → **QuickBooks Online&#x20;**→ **Accounting Sync**. Normally the error message will include the invoice # that failed and a detailed reason why it could not be synced. Oftentimes there is a manual action required on your end.

Below we have documented commonly encountered errors and recommended resolutions. If you are still unable to get your books synced then please contat Invoiced Support for further assistance.

### Account period has closed

:::BlockQuote
The account period has closed and the account books cannot be updated through the QBO Services API. Please use the QBO website to make these changes.
:::

When you see this error message then it means that Invoiced is trying to sync an invoice or payment during a time period that you have already closed. One way you can fix this is by re-opening your books for that time period and running the sync once more. When the sync finishes you can close the books again.

Another solution is to change the date range that Invoiced will sync to QuickBooks. You can tell Invoiced to not sync any invoices before the time period when you closed the books. The sync date range can be set up in the QuickBooks settings at **Apps** → **QuickBooks Online** → **Configure** (in the *QuickBooks Online* section).

### You can only add or edit one name at a time

:::BlockQuote
Business Validation Error: You can only add or edit one name at a time. Please try again.
:::

Often this error means that an accounting sync was running while someone was working in the books. This can be fixed by signing out of the QuickBooks Online interface and re-trying the sync.

### QuickBooks Online could not authenticate

:::BlockQuote
QuickBooks Online could not authenticate.
:::

If you see this error message then our access token to your QuickBooks account has expired. You need to go to **Apps** → **QuickBooks Online** in order to reconnect QuickBooks.

### Subscription period has ended

:::BlockQuote
Subscription period has ended or canceled or there was a billing problem : You can't add data to QuickBooks Online Plus because your trial or subscription period ended, you cancelled your subscription, or there was a billing problem. To update your subscription, click the gear icon and view your account information.
:::

Your QuickBooks subscription has expired. Please sign into QuickBooks in order to address the issue.

### TxnID Cannot Be Linked

:::BlockQuote
TXnID Cannot Be Linked
Field: Payment.Line.LinkedTxn.TxnId
Detail: TxnID Cannot Be Linked : 8855
Code: 620
:::

This error means that the payment is attempting to apply to an invoice that is associated with a different customer in QuickBooks than it is in Invoiced. This usually happens when there is a duplicate invoice number. Check the invoice number in both systems to see if there is a mismatch. If there is, you can change one of the invoice numbers, then retry the error.&#x20;

### Invalid Reference ID

:::BlockQuote
Invalid Reference Id
Detail: Invalid Reference Id : Categories cannot be used in transactions.
Code: 2500
:::

This error occurs when there is a category in QuickBooks with the same name as an invoice line item. QuickBooks reads the line item as a category rather than a product or service. To resolve the error, change either the category or line item name so that they are no longer identical. Then select "retry" on the reconciliation error in Invoiced.&#x20;

### Unable to determine QuickBooks Online tax code.

This error indicates that your tax or account settings in Invoiced and QuickBooks do not match. Make sure the account country is the same in each system. Check your tax mapping settings in Invoiced in apps > QuickBooks Online > Configuration. Make sure your settings in Invoiced match your configuration in QuickBooks.

For example, if you select NON in Invoiced to indicate that you do not collect tax, your customers and products in QuickBooks must also be non-taxable.&#x20;

[title] NetSuite
[path] Integrations/Accounting Sync/

Invoiced has an integration with NetSuite, a cloud-based ERP system. This document outlines how to setup and use the NetSuite integration.

## Overview

The NetSuite integration ships with the following capabilities:

- Bi-directional sync with NetSuite
- New data from NetSuite is synced every 15 minutes
- Transactions generated on Invoiced post to NetSuite in real-time

## Data Flow

| **Invoiced**    | **Sync To Invoiced** | **Sync To NetSuite** | **NetSuite**     |
| --------------- | -------------------- | -------------------- | ---------------- |
| Customer        | ←                    | →                    | Customer         |
| Contact         | ←                    |                      | Contact          |
| Note            |                      | →                    | Note             |
| Invoice         | ←                    | →                    | Invoice          |
| Credit Note     | ←                    | →                    | Credit Memo      |
| Payment         | ←                    | →                    | Customer Payment |
| Convenience Fee |                      | →                    | Invoice          |

## Setup

In order to set up the NetSuite integration you first need these pieces of information:

- NetSuite Account ID
- OAuth Access Token

Below we will show you how to connect NetSuite with Invoiced, step-by-step.

### Install The Invoiced SuiteBundle

First we need to install the Invoiced SuiteBundle, which will install an **Invoiced** integration and an **Invoiced Integration** role.

1. On NetSuite, go to **Customization** → **SuiteBundler** → **Search & Install Bundles**.
2. In the keyword box, type in *Invoiced* and click **Search**. Select the bundle with a bundle ID of *265184*.
3. Click **Install** to install the bundle.
4. Once the bundle is installed, go to **Page: Invoiced Integration**
5. Obtain an API key in **Settings** → **Developers** → **New API Key** in the Invoiced application.
6. Paste the API key into the **API Key** field on NetSuite and click **Save**.

### Setting Up an OAuth Access Token

The next step is to create an OAuth Access Token for Invoiced on NetSuite. To do that there are few steps you need to follow.

### Assign the Invoiced Integration role to a user

You will need to pick a user that will that the access token will be based on and assign the **Invoiced Integration** role to that user.

1. Go to **Setup** → **Users/Roles** → **Manage Users**.
2. Select the user you plan to use for the integration and add the **Invoiced Integration** role to that user.

### Create the access token

1. Go to **Setup** → **Users/Roles** → **Access Tokens** → **New**
2. Select *Invoiced* as the application name, the user from the previous step as the user, and *Invoiced Integration* as the role.
3. Copy-paste the token ID and token secret values into a text editor. NetSuite will not display this information again.

### Connecting NetSuite on Invoiced

1. On Invoiced, go to **Apps** → **NetSuite** in the Invoiced dashboard.
2. Click **Install**.
3. Enter in the NetSuite account ID, token, and token secret for the Invoiced integration created earlier.
4. Click **Save**. NetSuite is now connected!

### Finding Your NetSuite Account ID

Your NetSuite account ID is required in order to connect the integration. You can obtain your account ID from NetSuite with these steps:

1. Within the NetSuite application, hover over the **Setup** tab and click **Company** → **Company Information**.
2. You should see an *Account ID* field. This is the account ID that you will use in the connection steps.

### Sync Convenience Fees from Invoiced to Netsuite

When convenience fees are enabled in Invoiced, the integration will create a convenience fee invoice in Netsuite. The convenience fee is applied to this invoice, so it does not create a credit in the accounting system.&#x20;

You should create a **non-inventory** convenience fee item in Netsuite. On the **Invoiced Integration page**, you can select the item and tax code that the integration will use to create the convenience fee invoice.&#x20;

## Usage

Reading data from NetSuite to Invoiced, such as when a new invoice is available, will sync every 15 minutes. You can see when the last sync happened on the **Invoiced Integration** page. If you wish to run a one-off sync, you can click the **Sync Now** button. Once the bundle is installed and fully configured, new transactions will sync with NetSuite automatically.

Writing data from Invoiced to NetSuite will sync instantly.

:::hint{type="info"}
Once the integration is fully configured, new transactions will sync with Invoiced on a going-forward basis. The integration does not sync data created prior to the integration being installed. See [Importing Data](docId\:cQhu6gZbwe_U3rmPCEaZh) for instructions on how to import transactions prior to installing Invoiced.
:::

### Mapping Custom Fields

It's quick and easy to map a custom field in Netsuite to a custom field in Invoiced. If you haven't created a custom field in Invoiced yet, you'll find instructions [here](https://docs.invoiced.com/guides/custom-fields). To create the mapping, you need to know the field IDs from both Netsuite and Invoiced.&#x20;

In Netsuite, enter "customization" in the search bar and select **New Invoiced Mapping Customization.&#x20;**&#x49;n the field "Netsuite Field ID" enter the ID from your custom field in Netsuite. In the field "Invoiced field ID" enter metadata.xyz, where xyz is the ID from your custom field in Invoiced. Select the Record Type for your field and save.&#x20;

::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/tHdVuWbu_uRGwVwhnJvLF_screen-shot-2022-05-20-at-23302-pm.png" size="82" width="2316" height="416" position="center" showCaption="false"}

::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/JW5maBqY8apdlZ8LO15QT_screen-shot-2022-05-20-at-23356-pm.png" size="44" width="904" height="614" position="center" showCaption="false"}

## Edge Cases

Here we have documented limitations, nuances, and edge cases to be aware of when using the NetSuite integration.

- If you use the Sync Now button, the Netsuite governance limit will be lower than the scheduled script that runs every 15 minutes. You may not see all of your data synced with the Sync Now button, however, you can initiate another sync once it is finished or wait for the next scheduled sync.
- Any changes to data on the system other than where it originated will be ignored and potentially overwritten. For exarmple, if a customer was created on NetSuite by the Invoiced integration then subsequent modifications to that customer on NetSuite would not sync to Invoiced. It is possible that those changes on NetSuite would be overwritten by a future sync.
- We periodically release new versions of our Netsuite bundle with new features and bug fixes. If the intergration meets your needs, you do not have to upgrade the bundle in our account. We'll post details about new bundle versions in our [changelog](https://docs.invoiced.com/changelog).&#x20;



## Latest Updates

### NetSuite Integration Update — October 2025

Overview

The October 2025 update introduces new fields, mapping options, and script parameters to improve data syncing between NetSuite and Invoiced.
These enhancements give you greater flexibility when managing multi-subsidiary environments and configuring how fields map between systems.

### 1. Subsidiary API Key

**Field ID:** `custrecord_invd_division_key`

For organizations that use multiple subsidiaries, each subsidiary can now store its **own API key**. This allows you to connect each subsidiary to the correct Invoiced environment or account, keeping data properly segmented and secure.

**Use Case:**
If your company manages multiple entities within NetSuite (for example, different regions or brands), you can assign a separate API key for each subsidiary to ensure transactions sync to the right Invoiced account.

### 2. USE LABEL Mapping Option

**Field ID:** `custrecord_inv_use_label`

A new **USE LABEL** checkbox has been added for dropdown (list/record) fields in your custom mapping configuration. This allows you to choose whether the integration syncs based on the **Field ID** or the **Field Label** value from NetSuite.

**Use Case:**
If your dropdown fields use internal IDs that differ from the display names (labels) you want to appear in Invoiced, you can toggle this option to use the label instead — improving clarity and consistency across systems.

### 3. Integration Script Updates

**Script ID:** `customscript_invd_integration (Invoiced - Sync to Invoiced)`

The integration script has been updated to provide more flexible sync options and improved data handling.

**New Parameters:**

| Parameter             | Description                                                                                                       | Default |
| --------------------- | ----------------------------------------------------------------------------------------------------------------- | ------- |
| `custscript_invd_rts` | Enables **real-time sync** from NetSuite to Invoiced. When checked, records sync immediately after changes occur. | `false` |
| `custscript_invd_ss`  | Controls the **scheduled sync** job. When enabled, records sync automatically at the defined schedule.            | `true`  |

**Deployments:**

- `customdeploy_invd_update_projects` — Project records
- `customdeploy_invd_update_customers` — Customer records
- `customdeploy_invd_update_contacts` — Contact records

These deployments ensure updates are applied consistently across key record types.

### Upgrading the Bundle

When you log into NetSuite, you’ll see a prompt to **upgrade your Invoiced bundle** to the latest version. Follow the on-screen instructions to complete the update — no additional setup is required.

If you don’t see the prompt, check your version under:
**Customization → SuiteBundler → Search & Install Bundles → Installed Bundles**

### Why This Matters

- Improved support for **multi-entity organizations** through subsidiary-specific API keys
- Greater flexibility in **custom field mapping** for dropdown values
- More control over **sync frequency**, with both real-time and scheduled options available
- Reduced manual configuration and improved data reliability across systems

### Version Details

- **Bundle Version:** v5.1.0
- **Bundle ID:** 265184
- **Release Date:** October 2025

## Troubleshooting

When a sync fails you can check the SuiteScript logs in NetSuite.

If you are still unable to get your data synced then please contact Invoiced Support for further assistance.


[title] Single Sign-On
[path] Integrations/

Single sign-on (SSO) allows users to use a single login across multiple enterprise applications. The Single Sign-On feature allows your team to sign in using your existing identity provider instead of an Invoiced username and password.

## Setup

Now go to the Invoiced application:

1. Go to **Settings** → **Team** → **Single Sign-On.** If you do not see the Single Sign-On tab then contact Invoiced Support to have this feature enabled.
2. Turn on the **SAML Enabled** toggle.
3. Copy over the issuer URL into the **Issuer (Identity Provider Entity ID)** field.
4. Copy over the sign in URL into the **Sign In URL** field.
5. Copy the certificate from the identity provider and paste it into the **Certificate** field.

Within your identity provider follow these instructions:

1. Create a new SAML 2.0 application in your identity provider for Invoiced.
2. Copy the **Assertion Consumer Service (ACS) URL** value from the **Setup Info&#x20;**&#x73;ection to the application ACS URL field in your identity provider.
3. Copy the **Service Provider Entity ID / Audience URI** value from the **Setup Info&#x20;**&#x73;ection to the application entity ID field in your identity provider.
4. Set the NameID attribute to the user's email address.

Once the application has been configured on Invoiced and in the identity provider it should be possible for users to sign in using single sign-on.

### Disable Other Authentication Methods

After successfully testing that single sign-on is working, you can optionally disable other authentication methods for your Invoiced account. When this setting is enabled users will only be able to sign into your Invoiced account with single sign-on and other authentication methods like username/password will not allow the user to access your Invoiced account.

### Multi-Entity Setup

If you have multiple entities that you wish to sign into with single sign-on then you will need to keep setting up single sign-on after configuring your first entity. On each Invoiced entity that you wish to sign in through your identity provider, you will need to copy the same SAML settings from the first entity that you setup. The SAML settings should match across all of your entities.

You do not have to do any additional configuration on your identity provider. You only need to set up the Invoiced application once on your identity provider for use with multi-entity single sign-on.

When a user signs in with multi-entity setup, they will only have to sign in once and they will see all of the entities to which they have access in the company switcher of the Invoiced app.

## Usage

Once single sign-on is properly configured, users can sign in to Invoiced from your Identity Provider. When signing in with SSO, users will only see the Invoiced entities that are connected with the identity provider that they signed in with and to which they have access to.

It is also possible to sign in using SSO from Invoiced if users go to the **Start URL** in the **Setup Info&#x20;**&#x73;ection or if users click the **Login with SSO** button on the Invoiced login screen.

## Limitations

When using Single Sign-On on Invoiced, it is important to know these limitations and features that are not supported.

- Just-In-Time (JIT) user provisioning is not supported. New users must also be added to **Settings&#x20;**→**&#x20;Team&#x20;**→**&#x20;Users**.
- Single Log Out (SLO) is not supported.
- System for Cross-domain Identity Management (SCIM) is not supported.


[title] Accounting Sync
[path] Integrations/

Learn how to integrate Invoiced with your accounting system using our accounting sync.

We support the following accounting systems out of the box:

- [Business Central](docId\:wVmB5wp0KKGc44Oa-f5-k)
- [ERP Connect](docId\:XGzQIQ0b99TP1FLtaA6xX) (for on-premise ERPs)
- [FreshBooks](docId\:Cf_LUNRHyzje_H94KGE6K)
- [NetSuite](docId\:vY28dKP0cF-qJPSRLWmWt)&#x20;
- [QuickBooks Desktop](docId\:zwK0dHDHwjXqdIoPhq_hN)&#x20;
- [QuickBooks Online](docId\:rTtEQa5Ub6XvNfOv_R7uL)&#x20;
- [Sage Intacct](docId\:Wk7f4k6VEI8j0t41Oije2)&#x20;
- [Xero](docId\:CaWKqcWxnU-XCYSJoIExG)&#x20;

## Migrating to a New Accounting System

If you're an existing Invoiced user and need to change from one accounting system to another, reach out to our support team before making any changes. We can streamline the process and help you avoid syncing issues.&#x20;

Similarly, we do not advise refreshing the accounting system by wiping data or changing to a new account. Our support team can help find an alternate solution.&#x20;

[title] Lob
[path] Integrations/

Our Lob integration enables you to send paper invoices and statements to customers via direct mail. The integration will physically deliver a letter to your client's doorstep. It will use the same invoice or statement template they would see if they downloaded the invoice. Letters are perfect for another way to get in front of your client.

## Setup

We are going to walk you through setting up the Lob integration. This assumes you have already signed up for a Lob account.

1. Go to **Settings → Appearance** and ensure the template styles you want to send are selected for Invoices and Statements.&#x20;
2. Get your Lob API key from the Lob dashboard. This will be the *Secret API Key* for the *Live Environment*.
3. Go to **Apps** → **Lob** of the Invoiced application. Click **Install**.
4. Enter in your Lob API key. Click **Save** to enable the integration. You are now ready to start sending letters!

## Sending a letter

You can send both account statements and individual invoices through a letter. In this tutorial we are going to walk you through it.

### Sending an invoice

1. Open up the invoice in the Invoiced application.
2. Click **Actions** → **Send Invoice**.
3. Select the *Letter* option. Make sure the recipient's address looks right and click **Send**.

### Sending an account statement

1. Open up the customer's account in the Invoiced application.
2. Click **Actions** → **Generate Statement**.
3. Enter in the parameters for the statement and click **Send**.
4. Select the *Letter* option. Make sure the recipient's address looks right and click **Send**.

To view what exactly was sent go to **Dashboard → Recent Activity → click the Letter link**.&#x20;

## Limitations

Mailing letters have a few limitations that you should be aware of.

- Lob sends letters from the USPS (United States Postal Service). It's probably not a good fit for companies based outside of the U.S.
- Lob is not a free service (although it is very affordable). Any letters you mail will incur a charge. See [Lob's pricing](https://www.lob.com/pricing).
- Letters usually take 4 to 6 business days to be delivered.


[title] Automations
[path] /

The Automations feature in Invoiced allows users to build customizable workflows that execute a sequence of steps based on various triggers. This feature enhances efficiency by automating repetitive tasks, ensuring timely responses to events, and providing flexibility to adapt to specific business needs.&#x20;

## Triggers

Triggers define the conditions under which a workflow is initiated. Invoiced supports three types of triggers:

1. **Scheduled**: Automations run on a defined schedule, such as daily, weekly, or monthly.
2. **Event-Based**: Automations are triggered by specific events, such as the creation of an invoice or a payment being received.
3. **Manual**: Automations are initiated manually by the user when needed.

## Actions

Actions are the steps that a workflow performs once it is triggered. Invoiced supports the following types of actions:

1. **Send Email**: Automatically send an email to specified recipients.
2. **Send Document**: Send documents such as invoices, receipts, or statements to the customer.
3. **Condition**: Add conditional logic to the workflow, allowing different actions to be taken based on specific criteria.
4. **Set Property Value**: Update a property value on an object, such as changing the status of an invoice.
5. **Copy Property Value**: Copy a property value from one object to another.
6. **Clear Property Value**: Clear or reset a property value on an object.
7. **Create Object**: Create new objects such as invoices, customers, or tasks.
8. **Delete Object**: Delete existing objects from the system.
9. **Send Notification**: Send notifications to users within Invoiced.
10. **Post Message to Slack**: Post a message to a specified Slack channel.
11. **Webhook**: Send data to an external system via a webhook.

## Building a Workflow

The automation will use the timezone set in the business profile. To build a workflow in Invoiced, follow these steps:

1. **Define the Trigger**: Choose the appropriate trigger type (Scheduled, Event-Based, or Manual) and configure its settings.
2. **Add Actions**: Select and configure the actions that should be performed when the trigger is activated. You can add multiple actions and define the sequence in which they should occur.
3. **Set Conditions**: If needed, add conditional logic to determine which actions to execute based on specific criteria. NOTE: if a custom field ID has a number or special character, the automation will not save. It must be letters only.
4. **Review and Save**: Review the workflow configuration to ensure it meets your requirements, then save the workflow.
5. **Enroll**: For automations with scheduled triggers, enroll a record in the automation by going to the object's page and clicking the green Automate link.
   1. **Mass Enroll:** From the table view you can enroll all objects selected by the current filter in a scheduled automation or kick off a one-time automation. You will need to filter the results, then click the green Automate link and select the automation you would like to enroll all selected items. This *only* works with automations that have a Schedule or Manual trigger type. This applies to:
      1. Customers
      2. Credit Notes
      3. Estimates
      4. Invoices&#x20;
      5. Payments
      6. Payment Plans
      7. Subscriptions

## Example Workflows

### Example 1: Automated Monthly Statements

**Trigger**: Scheduled - Monthly at 9:00 AM

**Actions**:

- Condition: Check if the customer has a balance owed.
  - If True:
    - Send Email: Send an email to the customer with an open item statement.

### Example 2: Customer Onboarding Process

**Trigger**: Event-Based - New Customer Created

**Actions**:

- Send Email: Welcome email sent to the new customer with account setup instructions.
- Create Object: Create a task for the finance team to follow up with the new customer within three days.
- Send Notification: Notify the account representative about the new customer.

### Example 3: Manual Contract Renewal Process

**Trigger**: Manual

**Actions**:

- Send Email: Send a contract renewal reminder to the customer.
- Create Object: Generate a task about the contract renewal.
- Send Notification: Notify the account manager to follow up with the customer regarding the contract renewal.

## Conclusion

The Automations feature in Invoiced provides a powerful tool for streamlining business processes and reducing manual effort. By leveraging the various triggers and actions available, users can create highly customized workflows that cater to their unique requirements.

Please contact Invoiced Support if you need help setting up or using the Automations feature. We look forward to seeing what you build.

[title] Subscription Metrics
[path] Subscription Billing/

Invoiced includes analytics and reports to help you understand the health of your recurring revenue business. You can track common subscription key performance indicators (KPIs) like monthly recurring revenue (MRR), customer lifetime value (LTV), churn, and more.

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/PYB8ySBwI0AwXQMuNLEVv_screen-shot-2023-07-31-at-113043-am.png)

## Available Charts

Invoiced includes the following subscription metric reports out of the box. Many of these reports support segmentation (month, customer, plan) and filtering.

- Monthly Recurring Revenue
- Annual Recurring Revenue
- MRR Movements
- Total Subscribers
- Churn
- Average Sale Price
- Lifetime Value
- Net Revenue Retention

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/iPjA0V58dTsOpjjXIT8De_screen-shot-2023-07-31-at-114248-am.png)

### Custom Reports

If you have access to the report builder then you can build custom MRR reports with your own filtering and segmentation, as well as drill down into the line item level detail behind MRR. You can use the **MRR Item&#x20;**&#x61;nd **MRR Movement&#x20;**&#x72;eporting data types to do this.

## How MRR is calculated

Monthly recurring revenue (MRR) is the basis for tracking recurring revenue. On Invoiced, MRR is derived from recurring line items that were billed. A recurring line item is any line item that has an associated subscription plan and a service period.

The MRR of each line item is normalized depending on the plan interval. If the line item is prorated then the service period is an additional factor used to convert the billed amount to MRR. We only track MRR for what has been billed to a customer. Subscription events such as upgrades and cancellations are derived from line items and not from the subscription itself.

For example, if a customer was billed $120 for a yearly subscription, then this would add $10 to your MRR for each month covered by the service period.

:::hint{type="info"}
Subscription metrics are periodically calculated. When viewing reports please pay attention to the last calculation date to know whether recent changes were included in your metrics.
:::

## MRR Movements

MRR movements capture the types of changes that can happen to your MRR. As your recurring revenue base grows you would see this reflected as MRR movements. We calculate MRR movements from the line items that are billed to customers. As your customer's MRR changes month over month we break these down into the specific line items that caused the MRR change.

There are five different types of MRR movements that we will explain.

- New Business
- Expansion
- Contraction
- Lost
- Reactivation

### New Business

All MRR in the first month of a customer's relationship with you is considered new business.

### Expansion

Expansion occurs when a customer's MRR increases from the previous month. The previous month MRR must be non-zero for it to be considered expansion revenue.

### Contraction

When a customer's MRR decreases from the previous month but has not churned, then this is considered a contraction. Since this is a decrease in MRR, contraction MRR should be a negative value.

### Lost

Lost MRR is observed when a customer has churned and their MRR has gone to zero. Since this is a decrease in MRR, lost MRR should be a negative value.

### Reactivation

Reactivation MRR is similar to New Business with one important distinction. We categorize MRR as reactivation if the customer previously had MRR but had previously canceled. Reactivation is the first month of MRR that occurs after the customer has canceled.

# Metrics

These are the formulas we use to calculate each subscription metric that you see in the application, charts and reports.

### Annual Recurring Revenue (ARR)

```tex
\text{ARR} = \text{MRR}*12
```

### Average Revenue Per User (ARPU)

```tex
\text{ARPU} = \dfrac{\text{MRR}}{\text{Total Customers}}
```

### Lifetime Value (LTV)

```tex
\text{LTV} = \dfrac{\text{ARPU}}{\text{User Churn}}
```

When user churn is 0% then Lifetime Value then the calculation becomes:

```tex
\text{LTV} = \text{ARPU}*\text{36 months}
```

### User Churn

```tex
\text{User Churn} = \dfrac{\text{Lost Customers}}{\text{Starting Customers}}
```

### Revenue Churn

```tex
\text{Revenue Churn} = \dfrac{\text{Lost MRR}}{\text{Starting MRR}}
```

### Growth Rate

```tex
\text{Growth Rate} = \dfrac{\text{MRR}-\text{Starting MRR}}{\text{Starting MRR}}
```

### Net Revenue Retention (NRR)

```tex
\text{NRR} = \scriptsize{\dfrac{\text{Starting MRR}+\text{Expansion MRR}+\text{Reactivation MRR}-\text{Contraction MRR}+\text{Lost MRR}}{\text{Starting MRR}}}
```

### Average Sale Price (ASP)

```tex
\text{ASP} = \dfrac{\text{New Business MRR}}{\text{New Customers}}
```




[title] Subscription Billing Intro
[path] Subscription Billing/

Subscriptions allow businesses to automate the billing for customers on a recurring basis. With subscription billing on Invoiced, you can charge customers automatically each billing cycle, or issue an invoice that can be paid with payment methods accepted on the account.

If you find yourself sending the same invoices each month, then subscription billing is the solution. Not only will subscription billing save you time, but your customers will likely appreciate the predictability and convenience of subscriptions.

## Key Concepts

Invoiced has designed a subscription billing system to offer power and flexibility, while remaining simple to understand and to use. There are a few key concepts you might want to become familiar with before starting:

### Plans

A plan describes how much and how frequently your customer will be billed. An example plan might be website hosting that is $100 per month. Plans are reusable templates for building subscriptions. You can set up and manage your plans in **Settings** → **Plans**.

Plans can have one of four pricing modes

1\. **Custom** - Set a custom unit cost on each subscription.&#x20;
2\. **Per Unit** - The unit cost will be the same for each subscription.&#x20;
3\. **Tiered&#x20;**- Set the unit cost based on the subscription quantity. The total subscription quantity is separated into each tier on the subscription in a "waterfall."

::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/4zYjrykK95FlP3ctxgR1u_screen-shot-2023-01-03-at-43846-pm.png" size="56" width="1640" height="626" position="center" showCaption="false"}

4\. **Volume** - Set the unit cost based on the subscription quantity. The total subscription quantity will have the same unit cost.

::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/uRdL03HYrytBJYRahOUOv_screen-shot-2023-01-03-at-44541-pm.png" size="56" width="1662" height="400" position="center" showCaption="false"}

## Subscriptions

A subscription bills a customer for a fixed amount on a systematic basis, according to the plan the customer is subscribed to. Subscription pricing is flexible on Invoiced and allows for quantities, addons, discounts, and taxes to be combined. Subscriptions also support many options to customize the billing intervals.

Although we use traditional defaults, we also support many advanced subscription billing features that you might want to become familiar with.&#x20;

### Trial Period

Subscriptions support a free trial period at the beginning of the subscription where the customer is not charged. For example, a subscription might have a 30-day trial period where the customer is given service for free until the first bill is issued. After the trial period, the customers subscription will begin to bill.

### Billing Date

The billing date is the date when the next invoice for the subscription is generated. When you create a subscription, you can choose between anniversary or calendar billing and issuing invoices in advance or arrears. It’s not possible to change these selections after the subscription is created.&#x20;

### Bill in Advance or Arrears

Invoices issued in advance are created before or at the start of the billing period. Invoices issued in arrears are issued at the end of the billing period.&#x20;

### Anniversary Billing

As stated in the billing date section, *Anniversary Billing* renews a subscription on the anniversary of the start date.
For example, if your customer purchased a monthly subscription on the 9th then they would be billed each month on the 9th. In Invoiced, subscriptions use anniversary billing by default.

### Calendar Billing

Another option to Anniversary Billing is \*Calendar Billing, *which renews subscriptions on a specific day of the month chosen, instead of the start date. Calendar billing also has the ability, on the first invoice, to prorate partial months*.

For example, let's consider a scenario where your customer purchased a monthly subscription on the 9th with calendar billing set to the 1st of the month. The first bill would be prorated for the time remaining until the next 1st of the month. Future bills will be generated on the 1st of the month for the full amount.

### Billing Period

Each subscription keeps track of the current billing period. The billing period represents the time frame that the subscription will cover. The length of the billing period always matches the plan interval. By default, the billing period will be the interval following the billing date. If a monthly subscription renewed on December 1 then the current billing period would be December 1 - December 31.

### Duration

Subscriptions can be *infinite* or *fixed* duration. An infinite subscription (the default) runs forever until the customer cancels. A finite subscription will run for a fixed number of billing cycles.

### Quantity

The subscription quantity acts as a multiplier to the base plan price. If your subscription is based on a per-user subscription (i.e. $30/user/month) then the quantity would represent the number of users the customer should be billed for each month.

### Subscription Addons

Subscription addons are meant to give you pricing flexibility on top of the base plan amount. Addons save you from creating a large number of plans for every possible combination of products/services that a customer could subscribe to. An addon is an additional plan added onto a subscription, in addition to the primary plan. Each addon is billed as a separate line item on the generated invoices.

You can setup and manage your plans in **Settings** → **Plans**.

### Subscription Invoices

A subscription will generate an invoice each billing cycle for the amount owed in that billing cycle. The invoice contains line items for the plan and any addons.

### AutoPay

Since subscriptions are a generate invoice monthly, that means [AutoPay](https://docs.invoiced.com/payments/autopay) customers are fully supported with subscription billing. AutoPay will automatically charge your customer's payment method for any invoices issued against their account, including subscription invoices.

If a customer with AutoPay enabled is subscribed to a plan, but does not have payment information on file yet, then we will send them the first invoice automatically. Upon paying the invoice, we will capture the customer's payment information for use on future invoices.

### Payment Terms

When AutoPay is not enabled, then the customer will receive an invoice each billing period that they can pay using any of the payment methods you accept.

Payment terms succinctly tell the customer when an invoice is due. For example, NET 7 means that payment is due within 7 days of the invoice whereas NET 30 means payment is due in 30 days.

You can read more about the different kinds of payment terms in this [blog post](https://www.invoiced.com/blog/how-to-get-paid-faster-on-your-invoice-part-i).

### Pending Line Items

Pending line items are one-time charges that you can add to an upcoming subscription invoice. To create a pending line item, navigate to the customer profile and select "add line" on the upcoming invoice. These items will be included when the next subscription invoice is automatically generated.

::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/y6yastCVeH8iK-JKfausy_screen-shot-2021-11-04-at-95202-am.png" size="96" width="964" height="484" position="center" showCaption="false"}

If taxes are calculated automatically for your invoices, make sure you do not add tax to the pending line item. This will produce an error. You can tax the entire invoice or individual line items, but not both. If you run into this error, you can disable taxes in the customer profile or delete the pending line item to resolve it.&#x20;



::Image[]{src="https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/2PAL06hA_6ucoy8yPYPn1_screen-shot-2021-11-04-at-95550-am.png" size="54" width="279" height="137" position="center" showCaption="false"}

### Prorations

Invoiced supports prorations on subscriptions when changing a plan, quantity, or addons mid- billing cycle. When a customer downgrades, they will receive a credit, and when they upgrade will be charged.

Prorations are calculated any time a subscription is changed, unless disabled. A proration will generate a credit for the time remaining on the current billing cycle before the subscription update and a charge for the time remaining with the subscription update. If the proration is negative (downgrade) then we will issue the customer a credit. If positive (upgrade) then will add the amount to the next subscription invoice.

When switching to a plan with a different billing cycle, for example, switching from monthly to annual billing, then a new billing cycle will be started at the time of pro-ration. This means an invoice will be generated for the next billing cycle on the plan.

**Proration Calculation**

Prorations are calculated based on the number of seconds left in the billing cycle. Here is the formula we use to calculate prorations.

The `% time remaining` is calculated with:

`seconds left in period / total seconds in period`

Then a proration credit line item is computed using this formula:

`% time remaining * subscription price before change`

And a proration charge line item is computed using this formula:

`% time remaining * subscription price after change`

## FAQs

### What automated emails does Invoiced send for subscriptions?

Invoiced can send these emails with subscriptions:

- **Sign up confirmation**
- **Renews Soon**
- **New invoice**
- **Cancellation**

You can learn more about these emails in the [Emails Guide](https://docs.invoiced.com/guides/emails).

### When are subscription invoices issued?

Subscription invoices are issued within one minute of the billing period timestamp. It's not possible to generate a subscription invoice before the renewal date.


[space] Release Notes (/changelog)

[title] Week of September 21, 2026
[path] /

Each week we share what is new on Invoiced by Flywire, including new features, bug fixes, and improvements.

:::Changelog{title="Releases"}
::ChangelogItem{type="added" description="the ability to assign up to 10 owners per account, instead of one."}

::ChangelogItem{type="improved" description="the Merchant Transactions export on Flywire Payments so it includes all invoices applied to a payment, instead of listing only the first invoice."}

::ChangelogItem{type="fixed" description="an issue where customer top-ups were not reflected in the payout report, preventing proper reconciliation."}

::ChangelogItem{type="fixed" description="an issue where dispute reports with a pre-arbitration status could not be reconciled."}

::ChangelogItem{type="fixed" description="an issue where payout report discrepancies occurred when a capture reversal was processed without a corresponding capture deposit being recorded."}

::ChangelogItem{type="fixed" description="an issue where some payments could show a generic 500 error instead of a decline message when 3DS authentication failed."}

::ChangelogItem{type="fixed" description="an issue where card input fields on the Customer Portal could render as a blank frame when the payment gateway failed to fetch available payment methods."}

::ChangelogItem{type="fixed" description="an issue where asynchronous card declines could result in a 500 error displayed to the customer instead of the actual decline reason, and omit the failure message from the database."}

::ChangelogItem{type="fixed" description="an issue where customers in Canada using PAD payments on Flywire Payments could not complete a payment due to missing verification configuration."}

::ChangelogItem{type="fixed" description="an issue where system jobs were incorrectly voiding bank-feed payments that had already been applied to invoices, causing those invoices to revert to unpaid."}

::ChangelogItem{type="fixed" description="an issue where QuickBooks Desktop customer custom field names containing spaces or special characters were not synced correctly."}
:::


[title] Past releases
[path] /

Each week we share what is new on Invoiced by Flywire, including new features, bug fixes, and improvements.

:::Changelog{title="Week of July 6, 2026"}
::ChangelogItem{type="fixed" description="an issue where invoices with a zero balance, and voided invoices, could keep a past due status, which could trigger payment reminders for invoices that were already settled."}

::ChangelogItem{type="fixed" description="an issue where a consolidated invoice could total more or less than the invoices it was created from, when those invoices used different tax rates or discounts"}

::ChangelogItem{type="fixed" description="an issue where paying invoices belonging to different customers in one transaction, with a convenience fee, could cause the payment to fail to sync to Sage Intacct."}

::ChangelogItem{type="fixed" description="an issue where payments sent from Invoiced to NetSuite were not linked to the NetSuite record, which could create a duplicate payment in Invoiced if that record was later edited."}

::ChangelogItem{type="fixed" description="an issue where some invoices could not be sent by email."}

::ChangelogItem{type="fixed" description="an issue where syncing an invoice to QuickBooks Online could fail."}

::ChangelogItem{type="fixed" description="an issue where syncing an invoice from NetSuite could replace a customer’s custom field value with an internal ID instead of the selected label."}

::ChangelogItem{type="fixed" description=" an issue where Chinese, Japanese, and Korean characters were missing from PDF exports."}

::ChangelogItem{type="fixed" description="an issue where a document email could fail to send when an attached file was held in the account’s own file storage."}
:::

:::Changelog{title="Week of June 29, 2026"}
::ChangelogItem{type="fixed" description="an issue where applying a credit memo to an invoice in NetSuite did not sync back to Invoiced."}
:::

:::Changelog{title="Week of June 15, 2026"}
::ChangelogItem{type="fixed" description="an issue where updates to invoices and customers were not written through to Sage Intacct."}

::ChangelogItem{type="fixed" description="an issue where payments made through a parent and child customer hierarchy were not posted to Sage Intacct."}

::ChangelogItem{type="fixed" description="an issue where the base currency amount recorded in Sage Intacct did not match the payment amount on multi-currency accounts."}

::ChangelogItem{type="fixed" description="an issue where customers with the same name could be merged into one record when syncing from NetSuite."}

::ChangelogItem{type="fixed" description="an issue where subscriptions could renew on the wrong date."}

::ChangelogItem{type="fixed" description="an issue where a payer could not complete a payment in the Customer Portal when additional card authentication was required."}
:::

:::Changelog{title="Week of June 8, 2026"}
::ChangelogItem{type="fixed" description="an issue where a partial payment could fail to be recorded."}

::ChangelogItem{type="fixed" description="an issue where invoices using a grouped tax code, such as GST and PST together, failed to sync to QuickBooks Online."}

::ChangelogItem{type="fixed" description="an issue where the Customer Portal payment page could not display more than a few hundred invoices at once."}

::ChangelogItem{type="fixed" description="an issue where subscription dates were inaccurate on subscriptions that do not use proration."}

::ChangelogItem{type="fixed" description="an issue where the invoice.paid event did not include line item taxes."}

::ChangelogItem{type="fixed" description="an issue where the payments list on a disbursement did not page past the first 100 payments."}

::ChangelogItem{type="fixed" description="Fixed an issue where the payment date shown in search results did not match the date on the payment itself."}

::ChangelogItem{type="fixed" description="an issue where the A/R Inbox returned an error when the Open tab was set to show more than ten emails at a time"}

::ChangelogItem{type="fixed" description="an issue where a scheduled automation trigger could not be saved after changing how often it repeats."}
:::

:::Changelog{title="Week of June 1, 2026"}
::ChangelogItem{type="fixed" description="an issue where an integration could overwrite the Sage Intacct customer number stored on a customer."}
:::

:::Changelog{title="Week of May 25, 2026"}
::ChangelogItem{type="improved" description="the Failed Charges report so that older failed transactions show the actual decline reason instead of a generic error message."}

::ChangelogItem{type="improved" description="Payment Links so alternative payment methods can be used when no customer is specified on the link, with the customer created when the payment is made."}

::ChangelogItem{type="fixed" description="an issue where payout totals did not match the actual payout amounts."}

::ChangelogItem{type="fixed" description="an issue where some successful card payments did not show the card details."}

::ChangelogItem{type="fixed" description="an issue where an authentication error was not displayed correctly when adding a payment method in the Customer Portal."}

::ChangelogItem{type="fixed" description="an issue where the payment status for alternative payment methods could be incorrect."}

::ChangelogItem{type="fixed" description="an issue where the same payment could show duplicate disputes."}

::ChangelogItem{type="fixed" description="an issue where images and attachments did not load in the A/R Inbox."}

::ChangelogItem{type="fixed" description=" an issue where an attachment could not be downloaded from the A/R Inbox."}
:::

:::Changelog{title="Week of May 18, 2026"}
::ChangelogItem{type="fixed" description="an issue where a QuickBooks Desktop import could fail because of character encoding."}
:::

:::Changelog{title="Week of April 20, 2026"}
::ChangelogItem{type="fixed" description="an issue where an invoice total could differ slightly between the view and edit screens because of cumulative rounding."}
:::

:::Changelog{title="Week of April 6, 2026"}
::ChangelogItem{type="fixed" description="an issue where payout report totals did not match the actual payout amounts."}
:::

:::Changelog{title="Week of March 30, 2026"}
::ChangelogItem{type="added" description="support for displaying rolling balances in payout reports."}

::ChangelogItem{type="improved" description="payout report clarity to better reflect total payout calculations."}

::ChangelogItem{type="fixed" description="an issue where subscriptions could skip a billing period when switching plans."}

::ChangelogItem{type="fixed" description="an issue where extra invoices could be created for subscriptions using manual renewal."}

::ChangelogItem{type="fixed" description="an issue where autopay payments could be processed above the configured limit."}

::ChangelogItem{type="fixed" description="an issue where invoice notifications were not sent when invoices were paid immediately."}

::ChangelogItem{type="fixed" description="an issue where files could not be uploaded via the API."}

::ChangelogItem{type="fixed" description="an issue where item lists did not support pagination."}
:::

:::Changelog{title="Week of March 16, 2026"}
::ChangelogItem{type="added" description="support for scheduling reports to run daily."}

::ChangelogItem{type="added" description="email notifications for chargeback status updates."}

::ChangelogItem{type="improved" description="handling of large invoice downloads to prevent timeouts."}

::ChangelogItem{type="improved" description="payout report accuracy to ensure transactions and fees are reflected correctly."}

::ChangelogItem{type="fixed" description="an issue where transactions were missing from payout reports."}

::ChangelogItem{type="fixed" description="an issue where invoice emails could be delayed or not sent."}

::ChangelogItem{type="fixed" description="an issue where payment methods were displayed incorrectly in some receipts and emails."}

::ChangelogItem{type="fixed" description="an issue where payment completion notifications were not triggered in some cases."}

::ChangelogItem{type="fixed" description="an issue where some automations based on payment source creation did not execute correctly."}

::ChangelogItem{type="fixed" description="an issue where some automations could not update existing invoice chasing cadences."}
:::

:::Changelog{title="Week of March 2, 2026"}
::ChangelogItem{type="added" description="Support for specifying metadata for individual line items when creating payment links."}

::ChangelogItem{type="improved" description="Payment split handling to ensure transaction fees are applied correctly."}

::ChangelogItem{type="improved" description="Handling of interchange fees for certain card transactions."}

::ChangelogItem{type="fixed" description="An issue where customers could not update payment methods or pay certain AutoPay invoices in the customer portal."}

::ChangelogItem{type="fixed" description="An issue where paying multiple invoices with a saved payment method could fail."}

::ChangelogItem{type="fixed" description="An issue where invoice emails could be sent after an invoice was already paid when AutoPay was enabled."}

::ChangelogItem{type="fixed" description="An issue where sub-customers with the same name could sync to the wrong parent in QuickBooks Online."}
:::

:::Changelog{title="Week of August 13, 2025"}
::ChangelogItem{type="fixed" description="QuickBooks Online integration connection failures prevented accounting data synchronization with Invoiced"}

::ChangelogItem{type="fixed" description="Some special characters in payment data caused Flywire Payment processing failures."}

::ChangelogItem{type="fixed" description="Date formatting issues resulted in incomplete payout breakdown reporting and inaccurate payout totals for Flywire Payments."}

::ChangelogItem{type="improved" description="Custom fields are now available for use with custom JavaScript on the Customer Portal Activity Page."}
:::

:::Changelog{title="Week of July 16, 2025"}
::ChangelogItem{type="fixed" description="The Estimate Summary Report only displayed the first deposit amount instead of the total sum of all deposits collected for that estimate within the selected date range."}

::ChangelogItem{type="fixed" description="In the Automations feature, customer names containing apostrophes were displayed incorrectly when posted.&#xA;"}

::ChangelogItem{type="fixed" description="Navigating to the Billing setting would prompt for login credentials that could not be verified, preventing some users from accessing the billing page.&#xA;"}

::ChangelogItem{type="added" description="The Caribbean Guilder (XCG) currency code is now supported."}

::ChangelogItem{type="fixed" description="A charge.failed event was not created for some failed AutoPay payments."}
:::

:::Changelog{title="Week of July 9, 2025"}
::ChangelogItem{type="fixed" description="Some users switching between payment gateways experienced errors due to conflicting fee configurations."}

::ChangelogItem{type="fixed" description="Falied autopay payments were retired outside of their configured schedules."}

::ChangelogItem{type="fixed" description="A formatting issue caused negative numbers to display with extra apostrophes in exported files."}

::ChangelogItem{type="fixed" description="Payment sources weren't consistently saved to customer profiles when autopay customers made manual payments through the customer portal."}

::ChangelogItem{type="improved" description="Customer country information is always populated in customer data."}

::ChangelogItem{type="fixed" description="A deletion issue prevented admins from removing users with specific permission combinations."}
:::

:::Changelog{title="Week of July 2, 2025"}
::ChangelogItem{type="fixed" description="Users could not connect to our Slack integration."}

::ChangelogItem{type="fixed" description="A charge.failed event was not created for some failed payments."}

::ChangelogItem{type="fixed" description="The Flywire Payments payout and payout reports did not list all transactions."}

::ChangelogItem{type="fixed" description="The Invoiced Summary and the Merchant Account Summary reports failed to load."}
:::

:::Changelog{title="Week of June 17, 2025"}
::ChangelogItem{type="added" description="Metadata for invoices, credit notes, and estimates is now available on the customer portal’s /pay/select_items page and can be accessed using custom JavaScript."}
:::

:::Changelog{title="Week of June 11, 2025"}
::ChangelogItem{type="fixed" description="The customer portal did not prevent users from paying more than the invoice balance."}

::ChangelogItem{type="fixed" description="Invoices were automatically marked as bad debt after a late return in some scenarios."}

::ChangelogItem{type="fixed" description="Some customers could not be merged or deleted, and some invoices could not be deleted."}
:::

:::Changelog{title="Week of April 4, 2025"}
::ChangelogItem{type="improved" description="The Flywire integration now supports surcharging"}
:::

:::Changelog{title="Week of February 14, 2025"}
::ChangelogItem{type="improved" description="The Flywire Payments integration now supports 4 distinct payment methods: Card, Direct Debit, Bank Transfer, and Alternative Payment Methods"}

::ChangelogItem{type="improved" description="The Flywire Payments integration now supports convenience fees."}

::ChangelogItem{type="added" description="Payment Links have been added as a new, easy way to collect payment from your customers (new and existing) when they do not have an invoice."}

::ChangelogItem{type="fixed" description="QuickBooks Online integration: Having more than 1,000 accounts in the chart of accounts is now supported."}

::ChangelogItem{type="fixed" description="The file upload plugin has changed to an inline file upload element with the options to upload files from third-party services removed."}
:::

:::Changelog{title="Week of January 24, 2025"}
::ChangelogItem{type="added" description="We have a new connector available with Workato that can be used to integrate Invoiced with hundreds of ERP, CRM, and other applications."}
:::

:::Changelog{title="Week of January 10, 2025"}
::ChangelogItem{type="added" description="Mass Automations: Enroll in a scheduled automation or run a one-time automation with the click of a button from a list of customers, invoices, and more."}

::ChangelogItem{type="fixed" description="When single sign-on is mandatory, verification of a newly added user's email address is no longer performed."}
:::

:::Changelog{title="Week of December 13, 2024"}
::ChangelogItem{type="added" description="Cash Application: You can now upload remittance advice documents into Invoiced. A new AI-powered capability will read remittance advice documents, with varying formatting and styles, down to the line item level into Invoiced."}

::ChangelogItem{type="fixed" description="The statement PDF did not render in certain parent-child customer scenarios."}
:::

:::Changelog{title="Week of December 6, 2024"}
::ChangelogItem{type="improved" description="Automations: New dropdown lists make it easier to select records when creating automations."}

::ChangelogItem{type="fixed" description="The created at filter did not follow the time component of the selected date and time."}
:::

:::Changelog{title="Week of November 29, 2024"}
::ChangelogItem{type="fixed" description="CyberSource payment gateway: Fixed missing lastName error when certain characters are present in the cardholder name."}
:::

:::Changelog{title="Week of November 22, 2024"}
::ChangelogItem{type="fixed" description="Invinting new users when SSO only login is enabled will no longer require that the new user goes through the account registration process."}

::ChangelogItem{type="fixed" description="The column selection button on the customers list was not appearing."}
:::

:::Changelog{title="Week of November 8, 2024"}
::ChangelogItem{type="added" description="NetSuite Integration: The newly released v5 NetSuite bundle now has the ability to post customers, invoices, and credit memos to NetSuite. These new data flows can be configured in the integration settings."}
:::

:::Changelog{title="Week of October 22, 2024"}
::ChangelogItem{type="improved" description="The &#x22;Pay With&#x22; dropdown is hidden on the payment form when there is only one payment method available."}

::ChangelogItem{type="fixed" description="Chasing emails are no longer sent for invoices with pending payments."}
:::

:::Changelog{title="Week of September 13, 2024"}
::ChangelogItem{type="improved" description="The metadata from bank feed transactions available to cash application rules has been enhanced to allow for more automation to your cash application process."}

::ChangelogItem{type="fixed" description="Promise-to-Pays report filtered on the last modified timestamp instead of the expected payment date."}

::ChangelogItem{type="fixed" description="Sales Tax Summary report did not include 0% sales tax rates."}

::ChangelogItem{type="fixed" description="The Receive Payment screen did not prevent a biller from overpaying an invoice balance."}
:::

:::Changelog{title="Week of September 6, 2024"}
::ChangelogItem{type="added" description="Payments created from a bank feed have a &#x22;Bank Feed Transaction&#x22; section that provides more metadata about the transaction."}
:::

:::Changelog{title="Week of August 23, 2024"}
::ChangelogItem{type="added" description="We've added a new integration with Flywire for seamless cross-border payments that allows payers to make payments using localized payment methods! If you need to accept international payments from customers then please contact Invoiced Support to get started."}
:::

:::Changelog{title="Week of August 16, 2024"}
::ChangelogItem{type="fixed" description="The company_name email template variable now uses your company's DBA name instead of legal name."}
:::

:::Changelog{title="Week of August 2, 2024"}
::ChangelogItem{type="fixed" description="Advance payments in the customer portal did not use the customer's currency after selecting and deselecting an invoice in a different currency for payment."}
:::

:::Changelog{title="Week of July 26, 2024"}
::ChangelogItem{type="added" description="It is now possible to send a customer portal sign in URL to a customer by clicking Actions > Customer Portal URL > Send."}

::ChangelogItem{type="fixed" description="It was not possible to set the company time zone to UTC."}
:::

:::Changelog{title="Week of July 19, 2024"}
::ChangelogItem{type="added" description="A new promise_to_pay.broken event has been added to help you identify and react to a promise-to-pay not being kept."}

::ChangelogItem{type="fixed" description="An email attachment limit has been set at 20MB when using a custom SMTP configuration to prevent out-of-memory errors when sending."}
:::

:::Changelog{title="Week of July 12, 2024"}
::ChangelogItem{type="added" description="Customer Portal: It is now possible in the customer portal settings to upload file attachments that appear on the &#x22;Documents&#x22; page of the customer portal for ALL customers. This is great for uploading W-9s or tax documentation that all payers need to see."}

::ChangelogItem{type="improved" description="Stripe payment gateway: Adding ACH bank accounts using manual deposit verification is available once again."}
:::

:::Changelog{title="Week of July 5, 2024"}
::ChangelogItem{type="added" description="Account statements has a new &#x22;Customer&#x22; column when the customer has one or more sub-customers."}

::ChangelogItem{type="improved" description="Customer Portal: The sign in experience was improved when signing in with an email address that is associated with multiple customer profiles."}

::ChangelogItem{type="fixed" description="The new invoice email trigger did not work on invoices where invoice chasing was enabled and then disabled."}

::ChangelogItem{type="fixed" description="The promise-to-pay expected payment date field in the customer portal did not work in some locales."}
:::

:::Changelog{title="Week of June 28, 2024"}
::ChangelogItem{type="added" description="Automations: Our new automation builder feature allows you to create custom automations that perform a sequence of actions in response to various triggers. We can't wait to see what you build!"}

::ChangelogItem{type="added" description="Customer Portal: The welcome screen shown before a customer signs in has been redesigned. You can now customize the welcome message shown to customers."}

::ChangelogItem{type="added" description="Customer Portal: Customers can now see their contacts list on the Billing Details page. With the new &#x22;Allow customers to modify contacts&#x22; setting they can add, edit, or delete contacts."}

::ChangelogItem{type="added" description="Customer Portal: Customers can now add or modify their phone number in the customer portal."}

::ChangelogItem{type="added" description="Customer Portal: The Activity page has a new &#x22;Customer&#x22; column whenever viewing the account of a parent customer."}

::ChangelogItem{type="added" description="Customer Portal: It is now possible to switch to a different customer account when signed into the customer portal via an email magic link."}

::ChangelogItem{type="fixed" description="The email address autocomplete did not work with some email addresses."}
:::

:::Changelog{title="Week of June 21, 2024"}
::ChangelogItem{type="added" description="Customer Portal: It is now possible to display transactions for sub-customers of the currently signed in customer. This behavior is enabled with the &#x22;Include Sub-Customers&#x22; setting in the Customer Portal settings."}

::ChangelogItem{type="added" description="Customer Portal: Your business details are now displayed in the footer of the customer portal for establishing trust and making it easier for customers to contact you."}

::ChangelogItem{type="added" description="Customer Portal: All pages now have a language selector that allows viewers to switch the language of the customer portal on the fly."}

::ChangelogItem{type="added" description="The customer portal and invoice generation are now available in 16 languages!"}

::ChangelogItem{type="added" description="You can now control which contact information is displayed on transaction PDFs in the Appearance settings."}

::ChangelogItem{type="fixed" description="Customer updated event did not show up in activity log after removing and re-adding a payment method."}
:::

:::Changelog{title="Week of June 7, 2024"}
::ChangelogItem{type="fixed" description="Creating an invoice chasing cadence with multiple days after issue steps produced an error message."}
:::

:::Changelog{title="Week of May 31, 2024"}
::ChangelogItem{type="fixed" description="It was not possible to void an unapplied payment on the payment detail screen."}
:::

:::Changelog{title="Week of May 24, 2024"}
::ChangelogItem{type="fixed" description="An audit log event would not be recorded in some scenarios when the status on an invoice changed from not sent to sent."}

::ChangelogItem{type="fixed" description="The Task Productivity report did not correctly include tasks that were completed by a different user than the one that was assigned."}
:::

:::Changelog{title="Week of May 17, 2024"}
::ChangelogItem{type="added" description="Customer Portal: The new &#x22;Require Authentication&#x22; setting will require that customers sign in to the customer portal to view any invoice or other document that is sent to them via email."}

::ChangelogItem{type="added" description="Customer Portal: It is now possible to disable the My Account functionality in the customer portal. When disabled customers can only view and pay invoices."}

::ChangelogItem{type="added" description="Customer Portal: Invoices, estimates, and credit notes can be downloaded as XML."}

::ChangelogItem{type="improved" description="Customer Portal: Invoices, estimates, credit notes, and account statements have been redesigned to display the full details from the document to match the information that is displayed on the printed version."}

::ChangelogItem{type="fixed" description="Selecting a large number of invoices for payment in the customer portal resulted in a request too large error."}

::ChangelogItem{type="fixed" description="Cash Application: It was not possible to re-add a bank account after it was deleted."}

::ChangelogItem{type="fixed" description="Payment terms with a due in value of 0 days did not properly set a due date."}
:::

:::Changelog{title="Week of May 10, 2024"}
::ChangelogItem{type="added" description="Customer Portal: The new &#x22;Show Open Items Before Invoice Payment” setting allows you to change the behavior when a customer clicks the Pay Now button on an invoice."}
:::

:::Changelog{title="Week of April 26, 2024"}
::ChangelogItem{type="added" description="Stripe payment gateway: Customers can now instantly verify their bank account in the customer portal when adding a new bank account using Stripe Financial Connections."}

::ChangelogItem{type="added" description="Customer Portal: Invoices, estimates, and credit notes can be downloaded as CSV."}
:::

:::Changelog{title="Week of April 19, 2024"}
::ChangelogItem{type="fixed" description="Customer Portal: The customer language setting was not followed when the customer did not have a value in the country field."}

::ChangelogItem{type="improved" description="Customer Portal: Inovice URLs no longer expire after 90 days."}

::ChangelogItem{type="fixed" description="Chasing emails used a different set of email template variables when there were greater than 10 open invoices."}

::ChangelogItem{type="improved" description="If your business has a Doing Business As (DBA) name then it will be shown in customer-facing locations instead of your company's legal name. You can change your DBA name in Settings > Business Profile."}
:::

:::Changelog{title="Week of April 5, 2024"}
::ChangelogItem{type="added" description="You can now sign into Invoiced with an Intuit, Microsoft, or Xero account."}
:::

:::Changelog{title="Week of March 29, 2024"}
::ChangelogItem{type="added" description="Sign in with Intuit: Sign into Invoiced using your Intuit account."}

::ChangelogItem{type="added" description="Sign in with Xero: Sign into Invoiced using your Xero account."}

::ChangelogItem{type="improved" description="When applying an unapplied payment it is now possible to apply the payment to greater than 100 invoices."}

::ChangelogItem{type="improved" description="Customer chasing email notices will now send an open item statement instead of a list of invoices when the number of open invoices exceeds 10."}

::ChangelogItem{type="fixed" description="The email address autocomplete did not return recently added email addresses to your customer or contact lists."}
:::

:::Changelog{title="Week of March 22, 2024"}
::ChangelogItem{type="fixed" description="Subscription Billing: Setting a subscription to cancel at period end was not working if a custom pricing plan was used."}
:::

:::Changelog{title="Week of March 15, 2024"}
::ChangelogItem{type="fixed" description="Subscription Billing: The trial period was incorrectly set when modifying a trial to end today."}

::ChangelogItem{type="fixed" description="The late fee process would not finish for a recurring late fee schedule if the late fee amount applied was $0."}
:::

:::Changelog{title="Week of March 1, 2024"}
::ChangelogItem{type="added" description="Initial Data Sync: A new tool is available to pull transactions from your accounting system into Invoiced prior to installing the Invoiced integration."}

::ChangelogItem{type="fixed" description="Intacct Integration: fixed an issue where the sync process could crash if a credit memo with sales tax was voided on Invoiced."}

::ChangelogItem{type="fixed" description="Fixed a permission error when editing an invoice that was already issued with a role that only had invoice edit permission."}
:::

:::Changelog{title="Week of February 16, 2024"}
::ChangelogItem{type="added" description="There are two new fields in the spreadsheet import tools: Accounting System and Accounting ID. These new fields allow you to set the mapping for a record on Invoiced to the corresponding record in the accounting system."}

::ChangelogItem{type="fixed" description="When processing a payment with an invoice that was paid through a combination of processed payment and applied credit note, a duplicate payment error would occur."}
:::

:::Changelog{title="Week of February 9, 2024"}
::ChangelogItem{type="fixed" description="Chasing would not process all customers in the chasing queue after encountering a timeout when building a chasing statement PDF."}

::ChangelogItem{type="fixed" description="QuickBooks Online: It was not possible to sync an invoice with a line item whose name was a GUID."}

::ChangelogItem{type="improved" description="Late fees have been improved to now generate a separate late fee line item when there is a recurring fee schedule. The late fee line item will also contain the date of each late fee in the line item description. This change will only apply to invoices going forward. Existing invoices with late fees already assessed will continue to generate a single late fee line item."}

::ChangelogItem{type="fixed" description="The accounting sync process will no longer overwrite the invoice payment terms when the invoice has AutoPay enabled."}
:::

:::Changelog{title="Week of February 2, 2024"}
::ChangelogItem{type="fixed" description="Credit card payments could not be processed when &#x22;.&#x22; was used as the purchase order number."}

::ChangelogItem{type="fixed" description="Intacct integration: Customer custom fields stopped syncing to Invoiced."}

::ChangelogItem{type="fixed" description="When paying an invoice with a payment plan that results in the invoice being paid in full, then the invoice.paid event will now be used instead of invoice.updated."}

::ChangelogItem{type="fixed" description="When a backdated invoice is imported from an external source, it will use the invoice date to calculate the AutoPay payment date instead of the current date."}

::ChangelogItem{type="improved" description="Credit cards now have a field to track the issuing country of the card."}
:::

:::Changelog{title="Week of January 26, 2024"}
::ChangelogItem{type="added" description="Vendor Pay: Allows U.S. businesses to receive low-cost payments from their business customers."}
:::

:::Changelog{title="Week of January 12, 2024"}
::ChangelogItem{type="fixed" description="Notifications from Invoiced Business Network now follow each user's customer restrictions."}

::ChangelogItem{type="fixed" description="When applying credits on the same day as issued it would sometimes result in an error because the credit balance became negative."}

::ChangelogItem{type="added" description="There is a new Accounts Receivable setting called &#x22;Customer Entity Type&#x22; that lets you specify the default entity type of new customers."}

::ChangelogItem{type="improved" description="QuickBooks Online integration: Ship to address is now sent to QuickBooks with the write invoice data flow."}
:::

:::Changelog{title="Week of January 5, 2024"}
::ChangelogItem{type="fixed" description="When the ship to name was null then the address was not rendered on the invoice detail screen."}
:::

:::Changelog{title="Week of December 29, 2023"}
::ChangelogItem{type="improved" description="Bank feed transactions no longer create payments until they are in a posted state."}

::ChangelogItem{type="improved" description="Subscription Billing: The contract term now displays the number of remaining billing cycles instead of the contract date range. The number of remaining billing cycles has always controlled when a contract will end. The contract date range was informational but could be misleading after performing certain subscription modifications such as modifying the billing term."}
:::

:::Changelog{title="Week of December 22, 2023"}
::ChangelogItem{type="fixed" description="Exporting the customer list with a default payment method filter did not work."}
:::

:::Changelog{title="Week of November 3, 2023"}
::ChangelogItem{type="fixed" description="AutoPay retry attempts are no longer scheduled in the past when a payment plan has back-dated installments."}
:::

:::Changelog{title="Week of October 27, 2023"}
::ChangelogItem{type="fixed" description="It was not possible to save the choices list on custom fields."}

::ChangelogItem{type="improved" description="The receipt PDF for all themes except Classic have been updated to better match the theme."}
:::

:::Changelog{title="Week of October 20, 2023"}
::ChangelogItem{type="added" description="Advanced Filtering: Table views now have more filters available that allow you to do more advanced queries. We've also made over 100 new properties filterable with this update. Some of the new filter operations include starts/ends with, contains/not contains, empty/not empty, and many more depending on the type of the field that you are filtering."}

::ChangelogItem{type="improved" description="SAML 2.0 integration: The SAML integration has been vastly improved with things like multi-entity support, no more email domain restrictions, and the ability to disable users signing into your Invoiced account with any other non-SAML authentication method."}

::ChangelogItem{type="fixed" description="The balance column in the customer list did not render money amounts with the customer's currency."}

::ChangelogItem{type="fixed" description="Applying only a credit balance with no credit notes in the customer portal did not work."}
:::

:::Changelog{title="Week of October 13, 2023"}
::ChangelogItem{type="improved" description="Stripe payment gateway: Level 3 data is now sent to Stripe for all card transactions. Level 3 data can result in a decrease in declines and lower payment processing costs."}

::ChangelogItem{type="improved" description="When changing the country on an address form, the labels will automatically adjust to match the address format of the newly selected country."}

::ChangelogItem{type="fixed" description="NetSuite integration: Fixed an issue where a voided payment would void and delete the payment on Invoiced."}
:::

:::Changelog{title="Week of October 6, 2023"}
::ChangelogItem{type="improved" description="The Invoiced app menu has undergone a facelift! The menu has been redesigned to be more compact and easier to navigate between various features. The company switcher has also undergone a transformation with the ability to search your company list to quickly find the right account."}

::ChangelogItem{type="improved" description="Filtering results in table views has a new look! We have improved the process of building a filter and added many new fields to allow you to create more advanced filters."}
:::

:::Changelog{title="Week of September 29, 2023"}
::ChangelogItem{type="added" description="Save to Invoiced: The new Save to Invoiced button is visible to customers when viewing an invoice. It allows the customer to sign up for a free Invoiced account where they can securely receive invoices from you, capture invoice approvals, integrate with their accounting system, and send payments to you."}

::ChangelogItem{type="improved" description="There is a button on the Generate Statement page to get the client view URL for sharing with a customer. This is available in addition to the send and download buttons."}

::ChangelogItem{type="fixed" description="Fixed an error when a customer was making a payment with an existing payment method on file with the make default payment method option selected."}

::ChangelogItem{type="added" description="We are pleased to announce the general availability of Invoiced Business Network! With Invoiced Business Network you can now invite customers to join your business network on Invoiced in order to securely receive e-invoices from you, integrate their accounting system, and access new payment methods."}

::ChangelogItem{type="fixed" description="Changing the currency or customer on a cash receipt payment has been fixed."}
:::

:::Changelog{title="Week of September 22, 2023"}
::ChangelogItem{type="fixed" description="GoCardless integration: It was not possible to issue multiple refunds for a direct debit payment."}

::ChangelogItem{type="fixed" description="Report Builder: Records with missing custom field values were not included in reports when a not equal to filter was used."}
:::

:::Changelog{title="Week of September 8, 2023"}
::ChangelogItem{type="improved" description="Clicking on links in email notifications will now automatically jump into the correct entity."}

::ChangelogItem{type="added" description="NetSuite integration: It is now possible to sync invoices from NetSuite as drafts with the &#x22;Sync invoices as draft&#x22; setting."}
:::

:::Changelog{title="Week of September 1, 2023"}
::ChangelogItem{type="added" description="Subscription Billing: You can now specify a quantity when using custom priced plans."}

::ChangelogItem{type="fixed" description="Customer restrictions on a user were not followed when creating exports."}

::ChangelogItem{type="fixed" description="Recalling a saved filter with a date parameter was not working."}
:::

:::Changelog{title="Week of August 25, 2023"}
::ChangelogItem{type="improved" description="Subscription Billing: Filtering subscriptions by plan now includes subscriptions where the plan is used as an addon."}

::ChangelogItem{type="improved" description="The pagination controls on the Activity Log page has been replaced by a Load More button. Up to 25 events are loaded at a time."}
:::

:::Changelog{title="Week of August 18, 2023"}
::ChangelogItem{type="improved" description="Disabling AutoPay on a customer no longer clears the due date of any AutoPay invoices."}

::ChangelogItem{type="fixed" description="QuickBooks Desktop integration: A sync error with an empty error message would happen if an imported invoice was matched with an invoice voided on QuickBooks."}

::ChangelogItem{type="added" description="Subscription Billing: There is a new canceled reason property to indicate when a subscription was canceled due to nonpayment or canceled in the customer portal by a customer."}
:::

:::Changelog{title="Week of August 11, 2023"}
::ChangelogItem{type="fixed" description="ERP Connect: Force reload or deleting an API key could cause the application to hang on a blank screen."}

::ChangelogItem{type="fixed" description="Cash Application: The last transaction fetch timestamp was not updated if a payment was ignored due to a cash application rule."}

::ChangelogItem{type="fixed" description="Modifying a contact's email address after invoice chasing was scheduled did not use the updated email address."}

::ChangelogItem{type="fixed" description="Expired discounts were sometimes not removed after the expiration date."}
:::

:::Changelog{title="Week of August 4, 2023"}
::ChangelogItem{type="improved" description="We've added new subscription metric reports to help you understand your recurring revenue business. The new reports are Monthly Recurring Revenue, Annual Recurring Revenue, MRR Movement, Churn, Average Sale Price, Lifetime Value, Net Revenue Retention, and Total Subscribers."}

::ChangelogItem{type="fixed" description="Report Builder: Payment custom fields did not load when selected in reports."}

::ChangelogItem{type="fixed" description="The amount field on the Receive Payment form did not correctly parse and format monetary values in some locales."}

::ChangelogItem{type="fixed" description="Files could not be attached to an invoice if there was a &#x22;+&#x22; in the filename."}
:::

:::Changelog{title="Week of July 21, 2023"}
::ChangelogItem{type="fixed" description="Salesforce integration: The account city field was not synced correctly."}

::ChangelogItem{type="added" description="Payment exports now include custom fields."}
:::

:::Changelog{title="Week of July 7, 2023"}
::ChangelogItem{type="fixed" description="NetSuite integration: Customer notes were not syncing to NetSuite."}
:::

:::Changelog{title="Week of June 30, 2023"}
::ChangelogItem{type="improved" description="The customer detail screen now has a unified card for all transaction types, including invoices, estimates, credit notes, payments, and more."}

::ChangelogItem{type="fixed" description="Payment plans attached to an invoice written off as bad debt no longer appear in the customer portal as an active payment plan."}
:::

:::Changelog{title="Week of June 23, 2023"}
::ChangelogItem{type="added" description="ERP Connect: Payment custom fields are now supported."}
:::

:::Changelog{title="Week of June 9, 2023"}
::ChangelogItem{type="fixed" description="NetSuite integration: Fixed an issue where the sync cursor could be stuck at 12pm. Another issue was fixed where an imported invoice would not be mapped if it was paid on Invoiced before it had been matched with the NetSuite invoice."}

::ChangelogItem{type="improved" description="Salesforce integration: Field mapping customizations can now sync data to Salesforce from Invoiced for invoices, estimates and line items. Previously custom field mappings could only sync data to Invoiced from Salesforce."}

::ChangelogItem{type="fixed" description="Salesforce integration: Fixes an issue where only a single line item would be created for an invoice."}
:::

:::Changelog{title="Week of May 26, 2023"}
::ChangelogItem{type="added" description="Customer convenience fee setting. You can now disable convenience fees for a specific customer."}

::ChangelogItem{type="improved" description="Closing an invoice no longer sets the status as bad debt. The invoice must be written off using the &#x22;Write Off as Bad Debt&#x22; action to get a bad debt status."}

::ChangelogItem{type="added" description="Customer chasing cadences can now run on specific days of the week that you specify. This makes it possible to only run chasing on weekdays, for example."}

::ChangelogItem{type="fixed" description="Payment plan installment dates now have the time of day set to 6pm in the creator's time zone."}
:::

:::Changelog{title="Week of May 19, 2023"}
::ChangelogItem{type="added" description="Customers can now see credit balances in the customer portal as an available credit, and apply credit balances when making payments if the &#x22;Allow customers to apply credits&#x22; setting is enabled."}

::ChangelogItem{type="added" description="The Apply Credits to New Invoices setting will now automatically apply open credit notes when a new invoice is issued, in addition to applying credit balances."}

::ChangelogItem{type="improved" description="The Receive Payment screen has been redesigned to give new capabilities.&#xA;- The Available Credits section allows adding credit notes and credit balances to the payment.&#xA;- Payments can be applied to estimates with an unpaid deposit.&#xA;- More fields from the invoice, like due date, promise-to-pay date, total, and more are displayed in the apply payment section.&#xA;- Notes and custom fields can be set when processing payments.&#xA;- Overpayment line items can be added in any situation, even if the customer has other open items."}

::ChangelogItem{type="improved" description="Intacct integration: Payments created on Invoiced that include credit note applications will now sync the credit note applications to Intacct."}

::ChangelogItem{type="fixed" description="Avalara integration: It is now possible to clear the exemption reason and exemption number from a customer profile."}
:::

:::Changelog{title="Week of May 12, 2023"}
::ChangelogItem{type="improved" description="The create customer and edit customers have a new layout to better group together related fields and settings."}

::ChangelogItem{type="improved" description="The Close Credit Note action has been removed. We recommend using the void, delete, or apply option instead."}

::ChangelogItem{type="fixed" description="It is now possible to apply a credit note that originated from an accounting system."}

::ChangelogItem{type="added" description="You can now generate a sample open item statement in the Appearance settings."}

::ChangelogItem{type="fixed" description="The export feature in some cases would require the create reports permission from a user when that permission should not have been required."}
:::

:::Changelog{title="Week of April 21, 2023"}
::ChangelogItem{type="fixed" description="NetSuite integration: The latest version fixes an issue where the sync would freeze when a large number of records were modified in a short period of time."}

::ChangelogItem{type="added" description="Salesforce integration: The ability to map any Salesforce field to an Invoiced field has been added. You can set this up in the integration settings with the new Field Mapping page. Also, support for syncing Person Accounts has been added."}

::ChangelogItem{type="fixed" description="Subscription Billing: The next billing period was not displayed correctly in some cases on the subscription detail screen."}

::ChangelogItem{type="fixed" description="Customers applying credit notes in the customer portal would see a zero amount payment line item error."}

::ChangelogItem{type="improved" description="QuickBooks Online integration: The payment terms name will now sync from invoices and credit memos."}
:::

:::Changelog{title="Week of April 14, 2023"}
::ChangelogItem{type="improved" description="The Payment Methods screen has a new design."}

::ChangelogItem{type="fixed" description="Fixed the payment method not enabled error when customers were creating promise-to-pays and the payment method was disabled for the default country."}

::ChangelogItem{type="added" description="Intacct integration: If you use a multi-entity connection, you can specify whether customers are synced at the top level or entity level."}

::ChangelogItem{type="fixed" description="The direct debit payment method could incorrectly display a convenience fee when more than 5 invoices were selected for payment."}

::ChangelogItem{type="added" description="Report Builder: There are new IF and CASE functions that can be used to create more complex reports that were previously not possible."}
:::

:::Changelog{title="Week of April 7, 2023"}
::ChangelogItem{type="fixed" description="Salesforce integration: Invoice line items synced from Invoiced could show up multiple times on Salesforce."}

::ChangelogItem{type="added" description="Report Builder: There is a new IFNULL function. Also, you can now use columns in filter conditions in the right-hand side, in addition to the left-hand side. For example, you could find a list of invoices which have a date before a customer date custom field."}
:::

:::Changelog{title="March 31, 2023"}
::ChangelogItem{type="fixed" description="The Credit Balance Summary report used a cached value for the current credit balances section that could be an outdated value."}

::ChangelogItem{type="fixed" description="When resuming a subscription with calendar billing, the next billing period dates could be wrong. Also, the upcoming invoice did not immediately refresh when resuming the subscription."}

::ChangelogItem{type="fixed" description="The Show Record button when viewing import failures was not working."}
:::

:::Changelog{title="Week of March 24, 2023"}
::ChangelogItem{type="added" description="You can now manage your payment terms list in the Payment Terms settings page. When creating invoices your list of payment terms will be available as a dropdown."}

::ChangelogItem{type="improved" description="Intacct integration: Applications of advance payments and overpayments on Intacct are now added as line items on the payment synced to Invoiced."}
:::

:::Changelog{title="Week of March 10, 2023"}
::ChangelogItem{type="fixed" description="The previous value of an update event had the wrong data type on array items."}

::ChangelogItem{type="improved" description="There is a new Bank Accounts page in the cash application settings where any connected bank feeds are listed. You can also see when action is required to fix the bank feed connection."}

::ChangelogItem{type="improved" description="The accounting sync will now show the start time, current task, and timestamp of last update when a sync is running."}
:::

:::Changelog{title="Week of March 3, 2023"}
::ChangelogItem{type="fixed" description="Intacct integration: Fixed a could not load order entry transaction error."}

::ChangelogItem{type="improved" description="NetSuite integration: Cash receipt reference number now syncs to the check # field on NetSuite."}

::ChangelogItem{type="improved" description="AutoPay invoices are now permitted to have a due date."}

::ChangelogItem{type="fixed" description="Some customers were missing from the picklist when creating cash application rules."}

::ChangelogItem{type="fixed" description="It was not possible for customers to modify payment amounts in the customer portal when paying in a currency other than their default."}

::ChangelogItem{type="fixed" description="The Credit Balance Summary report did not include balances of customers with no default currency."}
:::

:::Changelog{title="Week of February 24, 2023"}
::ChangelogItem{type="added" description="Scheduled reports can now be saved with a dynamic date range, e.g. past 30 days."}

::ChangelogItem{type="improved" description="Earth Class Mail integration: Scanned pages within the envelope are synced to Invoiced in addition to the check image."}

::ChangelogItem{type="improved" description="Invoiced Payments: More declined card payments (depending on failure reason) appear in the failed charges list."}

::ChangelogItem{type="improved" description="QuickBooks Desktop integration: Payments can now be posted to QuickBooks that belong to invoices that were not originally synced from QuickBooks."}
:::

:::Changelog{title="Week of February 17, 2023"}
::ChangelogItem{type="added" description="There are two additional entity types you can apply to a customer: Government and Non-Profit"}

::ChangelogItem{type="improved" description="Statements have a new look for every theme except for Classic."}

::ChangelogItem{type="fixed" description="Resuming a paused subscription with a trial period did not calculate the correct set of billing dates."}
:::

:::Changelog{title="Week of February 3, 2023"}
::ChangelogItem{type="fixed" description="The A/R Overview report mistakenly allowed custom field filters, which had no effect on the generated result."}

::ChangelogItem{type="fixed" description="Voiding a payment applied to over 100 invoices did not correctly void all invoice applications."}

::ChangelogItem{type="improved" description="QuickBooks Desktop integration: voided transactions now appear on Invoiced as voided instead of a zero amount."}
:::

:::Changelog{title="Week of January 27, 2023"}
::ChangelogItem{type="fixed" description="NetSuite integration v4.1.1: Fixes syncing when a non-default date format is used and better handles project syncing with advanced projects disabled."}

::ChangelogItem{type="improved" description="You can now see when KPIs on the dashboard were last generated by hovering over the number."}
:::

:::Changelog{title="Week of January 20, 2023"}
::ChangelogItem{type="fixed" description="Bad debt written off with a credit note was not correctly categorized on the Reconciliation report."}

::ChangelogItem{type="fixed" description="Subscription Billing: When resuming a paused subscription, the billing period dates could become out of sync with the subscription."}

::ChangelogItem{type="added" description="A new page has been added for payers to enter payment amount individually for each invoice that was selected for payment. This screen is shown after an invoice is selected for payment and before payment details are entered."}

::ChangelogItem{type="added" description="It is now possible to collect advance payments from customers via the customer portal. Advance payments are collected separately from any invoice balance and added to the customer's account balance as a credit for future invoices. This feature is off by default and can be enabled in the customer portal settings."}

::ChangelogItem{type="improved" description="The payment form used by customers will now display the amount of each payment line item, including convenience fees, in addition to the total payment amount"}

::ChangelogItem{type="fixed" description="QuickBooks Desktop integration: Syncing a modified payment resulted in a sync error."}
:::

:::Changelog{title="Week of January 6, 2023"}
::ChangelogItem{type="fixed" description="NetSuite integration: Fixed payments not syncing when jobs are used."}

::ChangelogItem{type="fixed" description="NetSuite integration: Fixed an issue with some records being skipped during a sync."}

::ChangelogItem{type="added" description="NetSuite integration: More sync errors are reported to Invoiced and visible/retryable on the Accounting Sync page."}
:::


[title] Week of September 14, 2026
[path] /

Each week we share what is new on Invoiced by Flywire, including new features, bug fixes, and improvements.

:::Changelog{title="Releases"}
::ChangelogItem{type="fixed" description="an issue where the overpayment portion of a payment was not included when the payment synced to Sage Intacct, so the payment posted short."}

::ChangelogItem{type="fixed" description="an issue where enabling the credit note email trigger queued emails for historical credit notes, including credit notes that had already been paid."}

::ChangelogItem{type="fixed" description="an issue where the users list in Settings could not be paged past the first 100 users."}

::ChangelogItem{type="fixed" description="an issue where the body of an email could appear empty when expanded in the A/R Inbox."}
:::


[title] Week of September 7, 2026
[path] /

Each week we share what is new on Invoiced by Flywire, including new features, bug fixes, and improvements.

:::Changelog{title="Releases"}
::ChangelogItem{type="fixed" description="an issue where a newly invited user could not complete registration or sign in."}
:::


[title] Week of August 24, 2026
[path] /

Each week we share what is new on Invoiced by Flywire, including new features, bug fixes, and improvements.

:::Changelog{title="Releases"}
::ChangelogItem{type="added" description="the Disbursement ID field to the report builder."}

::ChangelogItem{type="fixed" description="an issue where a convenience fee was recorded as an unapplied credit when a card payment synced to QuickBooks Desktop."}

::ChangelogItem{type="fixed" description="an issue where custom field names synced from QuickBooks Desktop could not be used to create a matching custom field in Invoiced, which left the synced values unavailable for sorting, filtering, and reporting."}

::ChangelogItem{type="fixed" description="an issue where the age shown on an invoice did not follow the aging setting."}
:::


[title] Week of August 17, 2026
[path] /

Each week we share what is new on Invoiced by Flywire, including new features, bug fixes, and improvements.

:::Changelog{title="Releases"}
::ChangelogItem{type="fixed" description="an issue where payments on invoices with tax included in or excluded from line items could sync to Sage Intacct with the wrong amount, or fail to sync at all."}
:::


[title] Week of August 10, 2026
[path] /

Each week we share what is new on Invoiced by Flywire, including new features, bug fixes, and improvements.

:::Changelog{title="Releases"}
::ChangelogItem{type="fixed" description=" an issue where a payment did not sync to NetSuite when its reference was longer than 45 characters."}

::ChangelogItem{type="fixed" description="an issue where a payment that applied a credit memo could post to NetSuite with only the credit amount, leaving the invoice balance incorrect."}
:::


[title] Week of August 3, 2026
[path] /

Each week we share what is new on Invoiced by Flywire, including new features, bug fixes, and improvements.

:::Changelog{title="Releases"}
::ChangelogItem{type="fixed" description="an issue where some special characters in payment details could cause a payment to fail."}
:::


[title] Week of July 27, 2026
[path] /

Each week we share what is new on Invoiced by Flywire, including new features, bug fixes, and improvements.

:::Changelog{title="Releases"}
::ChangelogItem{type="fixed" description="an issue where tax on QuickBooks Online invoices was calculated on the amount before invoice level discounts were applied."}

::ChangelogItem{type="fixed" description="an issue where a payment completed through Stripe was not always recorded in Invoiced, leaving the invoice open."}

::ChangelogItem{type="fixed" description="an issue where the Customer Portal could return an error when a card payment was declined."}
:::


[title] Week of July 20, 2026
[path] /

Each week we share what is new on Invoiced by Flywire, including new features, bug fixes, and improvements.

:::Changelog{title="Releases"}
::ChangelogItem{type="fixed" description="an issue where invoice PDFs could not be downloaded in bulk."}

::ChangelogItem{type="fixed" description="an issue where a payment could be submitted twice from the Customer Portal, leaving the invoice with a negative balance."}

::ChangelogItem{type="fixed" description=" an issue where a credit note could be applied to the same invoice more than once."}

::ChangelogItem{type="fixed" description="an issue where payments could not be synced to the correct entity in Sage Intacct."}

::ChangelogItem{type="fixed" description="an issue where a payment synced through a parent and child customer hierarchy could create a duplicate record in Sage Intacct."}

::ChangelogItem{type="fixed" description="an issue where convenience fee invoices synced to Sage Intacct used the sync date instead of the payment date."}

::ChangelogItem{type="fixed" description="an issue where the NetSuite connector sent a currency value to accounts configured for a single currency."}

::ChangelogItem{type="fixed" description="an issue where the reason for a declined payment was not shown."}

::ChangelogItem{type="fixed" description="an issue where refunds were not initiated for some payments."}
:::


[space] Developer Docs (/dev)

[title] File Attachments
[path] Developing on Invoiced/

Invoiced supports attaching files to invoices to give customers more context about a bill.

## Usage

Files can be attached to invoices through the dashboard or programmatically through the API. In this guide, we will walk you through the complete steps to attach a file to an invoice through the API.

### 1. Create a file

You can upload a file using our API or host your file somewhere publicly accessible.&#x20;

To upload a local file, make the following request.

```curl
curl https://api.invoiced.com/files \
-u {API_KEY}: \
-H "Content-Type:multipart/form-data" \
-F "file=@/path/to/your/file/yourfilename.pdf" \
-F "name=file"
```

If your file is publicly hosted, make this request instead.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/files" \
  -u {API_KEY}: \
  -d url="https://www.invoiced.com/img/logo-invoice.png" \
  -d name="logo-invoice.png" \  # filename
  -d size=6936 \                # size in bytes
  -d type="image/png"           # MIME type
```

```java
import com.invoiced.entity.Connection;
import com.invoiced.entity.File;

Connection invoiced = new Connection("{YOUR_API_KEY}", false);

File file = invoiced.newFile();
file.url = "https://www.invoiced.com/img/logo-invoice.png";
file.size = 6936;
file.name = "logo-invoice.png";
file.type = "image/png";
file.create();
```

```php
<?php
$invoiced = new Invoiced\Client("{YOUR_API_KEY}");

$file = $invoiced->File->create([
  'url' => "https://www.invoiced.com/img/logo-invoice.png",
  'name' => "logo-invoice.png", // filename
  'size' => 6936,               // size in bytes
  'type' => "image/png"         // MIME type
]);
```

```python
import invoiced
client = invoiced.Client("{YOUR_API_KEY}")

file = client.File.create(
  url="https://www.invoiced.com/img/logo-invoice.png",
  name="logo-invoice.png",  # filename
  size=6936,                # size in bytes
  type="image/png"          # MIME type
)
```

```ruby
require "invoiced"
invoiced = Invoiced::Client.new("{YOUR_API_KEY}")

file = invoiced.File.create(
  :url => "https://www.invoiced.com/img/logo-invoice.png",
  :name => "logo-invoice.png",  # filename
  :size => 6936,                # size in bytes
  :type => "image/png"          # MIME type
)
```
:::

### 2. Attach to an invoice

Once you have created your file, you can attach it to an invoice. This is done by passing in an array of file IDs through the `attachments` parameter when creating or editing an invoice.

In this example, we are going to show how to attach a single file when creating a new invoice:

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/invoices" \
  -u {API_KEY}: \
  # invoice parameters...
  -d attachments[]={FILE_ID}
```

```java
import com.invoiced.entity.Attachment;
import com.invoiced.entity.Invoice;

Invoice invoice = invoiced.newInvoice();
// invoice parameters...
Attachment[] attachments = new Attachment[1];
attachments[0] = new Attachment();
attachments[0].file = file.id;
invoice.attachments = attachments;
invoice.create();
```

```php
<?php
$invoiced->Invoice->create([
  // invoice parameters...
  'attachments' => [$file->id]
]);
```

```python
invoice = client.Invoice.create(
  # invoice parameters...
  attachments=[file.id]
)
```

```ruby
invoice = invoiced.Invoice.create(
  # invoice parameters...
  :attachments => [file.id]
)
```
:::

And the file is now attached! It will be available in the client view and dashboard as a downloadable attachment.

### Retrieving attachments for an invoice

You can also retrieve the existing file attachments for an invoice with a simple API query. This might be useful to synchronize the attachments for an invoice with your internal systems.

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://api.invoiced.com/invoices/{id}/attachments",
  "name": "List Invoice Attachments",
  "method": "GET",
  "request": {
    "pathParameters": [
      {
        "kind": "required",
        "name": "id",
        "type": "Integer",
        "description": "Invoice Id"
      }
    ],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "dSyiav7J7Wy9NHE6my078",
        "code": "[\n  {\n    \"id\": 13,\n    \"file\": {\n      \"id\": 13,\n      \"object\": \"file\",\n      \"name\": \"logo-invoice.png\",\n      \"size\": 6936,\n      \"type\": \"image/png\",\n      \"url\": \"https://www.invoiced.com/img/logo-invoice.png\",\n      \"created_at\": 1464625855\n    },\n    \"created_at\": 1464625855\n  }\n]",
        "language": "200"
      }
    ],
    "selectedLanguageId": "dSyiav7J7Wy9NHE6my078"
  },
  "examples": {
    "languages": [
      {
        "id": "H4bek1JgxcY_h_wlsadDu",
        "code": "curl \"https://api.invoiced.com/invoices/{INVOICE_ID}/attachments\" \\\n  -u {API_KEY}:",
        "language": "curl"
      },
      {
        "id": "s19uJTxg2d5LHQO7CAuSe",
        "code": "import com.invoiced.entity.Attachment;\n\nAttachment[] attachments = invoice.listAttachments();",
        "language": "java"
      },
      {
        "id": "V-Y9amMP5dwoemYu2lgeu",
        "code": "<?php\nlist($attachments, $metadata) = $invoice->attachments();",
        "language": "php"
      },
      {
        "id": "xSTg8MVobsn4kBwCj0CPY",
        "code": "attachments, metadata = invoice.attachments()",
        "language": "python"
      },
      {
        "id": "L2kW4IiA0aCQcdsV0jj_0",
        "code": "attachments, metadata = invoice.attachments",
        "language": "ruby"
      }
    ],
    "selectedLanguageId": "H4bek1JgxcY_h_wlsadDu"
  },
  "description": "Get a list of attachments for an invoice",
  "currentNewParameter": {
    "label": "Path Parameter",
    "value": "pathParameters"
  },
  "autoGeneratedAnchorSlug": "list-invoice-attachments",
  "legacyHash": "5nSSvu7I2JA04-HGjf0kL"
}
```
:::


[title] Custom PDF Templates
[path] Developing on Invoiced/

Invoiced ships with multiple default templates for invoices, statements, and receipts, however, it's possible these templates do not match your business or branding needs. In this guide we will show you how to change the layout and appearance of the default PDF templates.

## Creating Custom PDF Templates

The PDF templates are HTML and CSS rendered using [**Invoiced Template Language**](https://docs.invoiced.com/dev/template-language).

The first step is to head over to **Settings** → **Appearance** → **Custom Templates**. Then select the template type you want to create under **New Template**. You can also edit or duplicate an existing custom template from the list on the same screen. Within each template, it is possible to adjust margins and create custom headers and footers. Template bodies, headers and footers are separate HTML/CSS file pairs

![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/pEoREGRlyLuq8Ve5hREpm_screen-shot-2021-10-02-at-92335-am.png "PDF Template Editor")

Once a custom template for a certain document type is created, it can be selected for use from the corresponding drop-down menu in **Settings** → **Appearance** → **Design**.



![](https://archbee-image-uploads.s3.amazonaws.com/YMx9hb_ZGsjrjpQ6wXmZJ/XrrJEaOg9IzhG4Mdy0Cvp_screen-shot-2021-10-02-at-92322-am.png "PDF Template Selection")

## Development Tips

### Testing

After saving any changes you can download a PDF preview by clicking the **Preview** button near the top right of the page. You can also see the generated HTML on a live invoice that has your customizations applied by opening the client view and appending `/html` to the URL, i.e. `https://dundermifflin.invoiced.com/invoices/IZmXbVOPyvfD3GPBmyd6FwXX/html`.

### Outputting available variables

If you want an output of what variables are available to your template you can use this for your HTML template to get a JSON encoded output: `<pre>{{ dump_scope() }}</pre>`

### Resetting a template

If you want to reset any of the specific templates to the default then simply delete all of the text for that template and click **Save**. This will revert that template back to the default value.

***

## Variable Reference

These variables can be used in the Twig templates.

### Invoice Template Variables

- `company` - A hash representing the business. See Company Object.
- `customer` - A hash representing the customer. See Customer Object.
- `invoice` - A hash representing the invoice. See Invoice Object.

### Receipt Template Variables

- `company` - A hash representing the business. See Company Object.
- `customer` - A hash representing the customer. See Customer Object.
- `transaction` - A hash representing the transaction. See Transaction Object.

### Statement Template Variables

- `company` - A hash representing the business. See Company Object.
- `customer` - A hash representing the customer. See Customer Object.
- `statement` - A hash representing the statement. See Statement Object.

### Estimate Template Variables

- `company` - A hash representing the business. See Company Object.
- `customer` - A hash representing the customer. See Customer Object.
- `estimate` - A hash representing the estimate. See Estimate Object.

### Object Properties

### Company Object

The `company` object has these variables:

- `address`
- `country`
- `currency`
- `email`
- `highlight_color`
- `language`
- `logo`
- `name`
- `tax_id`
- `username`
- `url`

### Customer Object

The `customer` object has these variables:

- `address`
- `attention_to`
- `autopay`
- `chase`
- `country`
- `email`
- `language`
- `metadata`
- `name`
- `number`
- `payment_terms`
- `phone`
- `tax_id`
- `taxable`
- `type`

### Invoice Object

The `invoice` object has these variables:

- `amount_paid`
- `autopay`
- `balance`
- `custom_fields` - An array of custom fields. See Custom Field Object
- `date`
- `due_date`
- `items` - An array of line items. See Line Item Object.
- `metadata`
- `notes`
- `number`
- `payment_terms`
- `payment_url`
- `rates` - An array of discounts and taxes applied to the invoice. See Rate Object.
- `ship_to`
- `status`
- `subtotal`
- `terms`
- `total`
- `url`

### Line Item Object

Line items contain these properties:

- `amount`
- `billing_period`
- `description`
- `metadata`
- `name`
- `rates`
- `unit_cost`

### Rate Object

Rates represent a summary of discounts or taxes applied to the subtotal. These properties are available:

- `name`
- `total`

### Custom Field Object

Custom fields have these properties:

- `name`
- `value`

### Transaction Object

The `transaction` object has these variables:

- `amount`
- `amount_credited`
- `amount_refunded`
- `check_no`
- `credit_notes`
- `date`
- `invoices`
- `metadata`
- `method`
- `payment_source`

### Statement Object

If it is a Balance Forward statement then the `statement ` object has these variables:

- `type` - set to `balance_forward`
- `start`
- `end`
- `previousBalance`
- `totalInvoiced`
- `totalPaid`
- `totalOverpaid`
- `totalAdjustments`
- `balance`
- `creditBalance`
- `accountDetail` - array of objects each with these properties:
  - `date`
  - `number`
  - `invoiced`
  - `paid`
  - `balance`
- `hasCredits`
- `previousCreditBalance`
- `totalCreditsIssued`
- `totalCreditsSpent`
- `creditDetail` - array of objects each with these properties: of objects with each these properties:
  - `date`
  - `description`
  - `issued`
  - `charged`
  - `creditBalance`
- `unifiedDetail` - array of objects each with these properties:
  - `date`
  - `description`
  - `issued`
  - `charged`
  - `balance`
  - `creditBalance`
- `aging`

If it is an Open Item statement then the `statement ` object has these variables:

- `type` - set to `open_item`
- `end`
- `totalInvoiced`
- `totalPaid`
- `balance`
- `accountDetail` - array of objects each with these properties:
  - `date`
  - `number`
  - `dueDate`
  - `total`
  - `balance`
- `aging`

### Estimate Object

The `estimate` object has these variables:

- `custom_fields` - An array of custom fields. See Custom Field Object
- `date`
- `expiration_date`
- `items` - An array of line items. See Line Item Object.
- `metadata`
- `notes`
- `number`
- `payment_terms`
- `rates` - An array of discounts and taxes applied to the invoice. See Rate Object.
- `ship_to`
- `status`
- `subtotal`
- `terms`
- `total`
- `url`


[title] Magic Links
[path] Developing on Invoiced/

With Magic Links customers can seamlessly sign into your customer portal from your app or website.

Magic Links are a secure passwordless authentication mechanism that lets you securely generate URLs to sign customers into your [**customer portal**](https://docs.invoiced.com/guides/billing-portal). This is perfect for redirecting users already authenticated within your app or service into your customer portal without the need for them to sign in once more.

## Generating Magic Links

1. Obtain your Magic Link key from the dashboard:
   You can grab the secret key for generating Magic Links for your account in **Settings** → **Developers** → **Magic Links** within the dashboard.

   **WARNING:** Keep your Magic Link key secret! It should only be used on servers under your control and never exposed in client-side code.
2. Generate a sign in token:
   Using your Magic Link key you can generate JWT tokens from your backend that tell us which customer to sign in.
3. Build the URL:
   Now you can plug your freshly generated token into a sign in URL (replace yourcompany with your Invoiced username):

   `https://{yourcompany}.invoiced.com/login/{generated_token}`

   You can now link your freshly generated URL from your website or else redirect users here.

### Page Shortcuts

When you sign your customer into the customer portal you can jump your customer into a sepcific page by adding a `?redirect_to` parameter to the magic link URL. If you do not specify this optional parameter then the user will be redirected to the My Account page by default.

For example, to redirect your customer to the add payment method screen the resulting sign in URL would look like this:

`https://{yourcompany}.invoiced.com/login/{generated_token}?redirect_to=add_payment_method`

| **Page**                                  | **Page ID**                 |
| ----------------------------------------- | --------------------------- |
| My Account                                | `my_account`                |
| Credit Notes List                         | `credit_notes`              |
| Invoices List                             | `invoices`                  |
| Estimates List                            | `estimates`                 |
| Payments List                             | `payments`                  |
| Balance Forward Statement (Current Month) | `balance_forward_statement` |
| Open Item Statement                       | `open_item_statement`       |
| Pay Balance                               | `pay`                       |
| Add Payment Method                        | `add_payment_method`        |
| Update Billing Information                | `update_billing_info`       |

## Generating JWT Tokens with a client library

:::CodeblockTabs
```java
import com.invoiced.util.SingleSignOn;
SingleSignOn magicLink = new SingleSignOn("{YOUR_MAGIC_LINK_KEY}");

int customerId = 1234;
int ttl = 3600; // 1 hour
token = magicLink.generateToken(customerId, ttl);
```

```php
<?php

use Invoiced\Client;
$invoiced = new Client("{YOUR_API_KEY}", false, "{YOUR_MAGIC_LINK_KEY}");

$customerId = 1234;
$ttl = 3600; // 1 hour

$token = $client->generateSignInToken($customerId, $ttl);
```

```ruby


require "invoiced"
client = Invoiced::Client.new("{YOUR_API_KEY}", false, "{YOUR_MAGIC_LINK_KEY}")

customerId = 1234
ttl = 3600 # 1 hour

token = client.generate_sign_in_token(customerId, ttl)
```
:::

## Generating Magic Links without a client library

If you are using a language not supported with an official Invoiced client library then you can still generate Magic Links. The steps to generate a JWT token will vary by language, however, there are many open source libraries that make it a simple process.

Any JWT tokens you generate should be signed using the `HS256` algorithm with your Magic Link key. The token should have the following parameters for the header:

```json
{
 "alg": "HS256",
 "typ": "JWT"
}
```

And the following parameters for the payload:

```json
{
 "sub": "{invoiced_customer_id}",
 "iss": "Ruby Backend",
 "exp": 1455564948
}
```

- The `sub` parameter should be the ID of the customer on Invoiced you are signing the user in as.
- The `iss` parameter should be a string to identify the service that generated the token (any value works here).
- The `exp` parameter should be a [**UNIX timestamp**](https://en.wikipedia.org/wiki/Unix_time) to indicate when the URL should expire.

This will generate a token similar to this:

`eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwiaXNzIjoiUnVieSBCYWNrZW5kIiwiZXhwIjoxNDU1NTY0OTQ4fQ.LXu-zcMTF8ikMSRrSVYnP0szyRZuqQOAorHAsDrfwPs`

We recommend taking a look at [**jwt.io**](https://jwt.io) to verify that tokens you generate are valid and to find client libraries in your language.

### Example

Here is an example showing how to generate a Magic Link in Ruby with the `jwt` gem (as opposed to using the invoiced-ruby library):

```ruby
require 'jwt'

magic_link_key = '{magic_link_key_from_dashboard}'

exp = Time.now + 86400 # link expires in 1 day

payload = {
:sub => 1234, # invoiced customer ID
:iss => "Ruby Backend",
:exp => exp.to_i
}

token = JWT.encode payload, magic_link_key, 'HS256'

# eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjEyMzQsImlzcyI6IlJ1YnkgQmFja2VuZCIsImV4cCI6MTQ1NTY1MjIxMH0.7kClQ2UAVEZ7xYus7ZHGRePnzDG5mBrcgIo6rZuo-Dw
puts token

url = "https://yourcompany.invoiced.com/login/#{token}"

# https://yourcompany.invoiced.com/login/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjEyMzQsImlzcyI6IlJ1YnkgQmFja2VuZCIsImV4cCI6MTQ1NTY1MjIxMH0.7kClQ2UAVEZ7xYus7ZHGRePnzDG5mBrcgIo6rZuo-Dw
puts url
```


[title] Metered Billing
[path] Developing on Invoiced/

Metered billing allows you to bill customers for charges incurred during a billing cycle. These charges could be from usage, one-off purchases, prorations, or some other amount not accounted for by the customer's subscription.

## Introduction

Conceptually metered billing on Invoiced is simple. It's just line items! Metered billing should feel natural if you are already familiar with our invoicing API.

### Pending Line Items

Whenever a customer incurs a charge with your business that you want to bill for later then you create a **pending line item**. A pending line item behaves just like invoice line items, with the distinction that it has not been billed yet. The line item is attached to a customer but not an invoice.

### Invoicing pending line items

Pending line items get billed to the customer by issuing an invoice. When a pending line item is billed then it will be moved from the customer's account to an invoice. There are two ways that pending line items can be invoiced:

1. Automatically at the end of a customer's billing period. Any pending line items will be swept up into the next subscription invoice.
2. Manually triggering an invoice from pending line items. Use this method if you do not want to wait for the end of the billing cycle or your customer does not have a subscription.

## Implementing metered billing

We are going to walk you through a basic metered billing workflow using the Invoiced API.

### Create a customer

In order to bill our customer, we must first create an account for them on Invoiced. For this example we are going to invoice our customer with **NET 7** payment terms each billing cycle. You could just as easily use [**AutoPay**](https://docs.invoiced.com/payments/autopay), which will charge your customer's payment source automatically when invoices are issued on the account.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/customers" \
  -u {API_KEY}: \
  -d name="Acme" \
  -d email="billing@acmecorp.com" \
  -d number="1234" \
  -d payment_terms="NET 7"
```

```java
import com.invoiced.entity.Connection;
import com.invoiced.entity.Customer;

Connection invoiced = new Connection("{YOUR_API_KEY}", false);

Customer customer = invoiced.newCustomer();
customer.name = "Acme";
customer.email = "billing@acmecorp.com";
customer.paymentTerms = "NET 7";
customer.create();
```

```php
$invoiced = new Invoiced\Client("{YOUR_API_KEY}");

$customer = $invoiced->Customer->create([
  'name' => "Acme",
  'email' => "billing@acmecorp.com",
  'number' => "1234",
  'payment_terms' => "NET 7"
]);
```

```python
$invoiced = new Invoiced\Client("{YOUR_API_KEY}");

$customer = $invoiced->Customer->create([
  'name' => "Acme",
  'email' => "billing@acmecorp.com",
  'number' => "1234",
  'payment_terms' => "NET 7"
]);
```

```ruby
require "invoiced"
invoiced = Invoiced::Client.new("{YOUR_API_KEY}")

customer = invoiced.Customer.create(
  :name => "Acme",
  :email => "billing@acmecorp.com",
  :number => "1234",
  :payment_terms => "NET 7"
)
```
:::

### Subscribe the customer to a plan

In this example we are going to bill for charges that happen during our customer's billing cycle, in addition to the base subscription price. The plan we are using was created through the dashboard in **Settings** → **Plans** with the ID `starter`.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/subscriptions" \
  -u {API_KEY}: \
  -d customer={CUSTOMER_ID} \
  -d plan="starter"
```

```java
import com.invoiced.entity.Subscription;

Subscription subscription = invoiced.newSubscription();
subscription.customer = customer.id;
subscription.plan = "starter";
subscription.create();
```

```php
$invoiced->Subscription->create([
	'customer' => $customer->id,
	'plan' => "starter"
]);
```

```python
client.Subscription.create(
	customer=customer.id,
	plan="starter"
)
```

```ruby
invoiced.Subscription.create(
	:customer => customer.id,
	:plan => "starter"
)
```
:::

### Add metered charges

Let's pretend during the billing cycle our customer used engineering hours that we want to bill for. Instead of issuing a separate invoice we can just add it to their next subscription invoice.

We are going to use an item that was set up in **Settings** → **Items** with the ID `engineer_hours`. The item already has the price set, however, you can also bill for one-off line items, just like with invoices. The [**Line Item Object**](https://developer.invoiced.com/api/invoices#line-item-object) shows all of the attributes that we support for creating line items.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/customers/{CUSTOMER_ID}/line_items" \
  -u {API_KEY}: \
  -d catalog_item="engineer_hours" \
  -d quantity=5
```

```java
import com.invoiced.entity.PendingLineItem;

PendingLineItem pendingCharge = customer.newPendingLineItem();
pendingCharge.catalogItem = "delivery";
pendingCharge.quantity = 5;
pendingCharge.create();
```

```php
$customer->lineItems()->create([
	'catalog_item' => "engineer_hours",
	'quantity' => 5
]);
```

```python
customer.line_items().create(
	catalog_item="engineer_hours",
	quantity=5
)
```

```ruby
customer.line_items.create(
	:catalog_item => "engineer_hours",
	:quantity => 5
)
```
:::

And that's it! You can add further pending line items to the customer, or even edit an existing pending line item. Next time the subscription renews, your pending line items will be added to the invoice.

### Trigger invoice for metered charges (optional)

If your customer is not on a subscription, or you want to bill them *now* for pending line items, then you can manually trigger an invoice for metered charges.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/customers/{CUSTOMER_ID}/invoices" \
  -u {API_KEY}: \
  -X POST
```

```java
import com.invoiced.entity.Invoice;

Invoice invoice = customer.invoice();
```

```php
$customer->invoice();
```

```python
customer.invoice()
```

```ruby
customer.invoice
```
:::

A new invoice using your customer's pending line items will be generated on the spot. If the customer does not have any pending line items then an error will be returned.

## What's next?

We have gone through a basic metered billing workflow. Of course, business is not always that simple. The [**Metered Billing**](https://invoiced.com/docs/api/#metered-billing) section of the API reference details all of the metered billing endpoints available to you.

[title] Developing on Invoiced
[path] /

At the heart of Invoiced is a powerful billing API. It allows you to build integrations with accounting systems, CRMs, ordering systems, business intelligence, and any other backoffice systems used to run your business.

Communication with the REST API happens with `https://api.invoiced.com`. If you are using the [**sandbox environment**](https://docs.invoiced.com/getting-started/testing) then the API endpoint is `https://api.sandbox.invoiced.com`.

This document will walk you through a common invoicing workflow. You can also dive into the [**API reference**](https://developer.invoiced.com/api) to see all of the available API endpoints.

## Getting Started

The first step is to determine how you want to connect to the API. We offer client libraries in several languages, including Ruby, PHP, Python, Java, .NET, and Go. If we don't have a client library for your language then you can perform the HTTP requests to Invoiced directly in the language of your choice.

Once you have your client library ready to go the next step is to get an API key. The API uses [**Basic Authentication**](https://en.wikipedia.org/wiki/Basic_access_authentication) to authenticate requests. All API requests require a valid API key. You can grab an API key by signing in to the dashboard, and then going to **Settings** → **Developers** → **API Keys**. Please remember to keep this API key safe. In the wrong hands it could give unwanted access to your Invoiced account.

Next, we are going to walk through a common invoicing workflow.

### Creating a Customer

Customers are at the core of everything on Invoiced. Customers represent a billable entity from your perspective, whether this is a person, organization, or account. You must create a customer first before you can invoice or accept payments.

Every customer has an [**AutoPay**](https://docs.invoiced.com/payments/autopay) option. When enabled this will charge your customer's connected payment source each billing cycle. When AutoPay is off (the default) we will instead issue an invoice that your customer can pay using any of the payment methods you accept.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/customers" \
  -u {API_KEY}: \
  -d name="Acme" \
  -d email="billing@acmecorp.com" \
  -d number="1234" \
  -d payment_terms="NET 30"
```

```java
import com.invoiced.entity.Connection;
import com.invoiced.entity.Customer;

Connection invoiced = new Connection("{YOUR_API_KEY}", false);

Customer customer = invoiced.newCustomer();
customer.name = "Acme";
customer.email = "billing@acmecorp.com";
customer.paymentTerms = "NET 30";
customer.create();
```

```php
$invoiced = new Invoiced\Client("{YOUR_API_KEY}");

$customer = $invoiced->Customer->create([
  'name' => "Acme",
  'email' => "billing@acmecorp.com",
  'number' => "1234",
  'payment_terms' => "NET 30"
]);
```

```python
import invoiced
client = invoiced.Client("{YOUR_API_KEY}")

customer = client.Customer.create(
  name="Acme",
  email="billing@acmecorp.com",
  number="1234",
  payment_terms="NET 30"
)
```

```ruby
require "invoiced"
invoiced = Invoiced::Client.new("{YOUR_API_KEY}")

customer = invoiced.Customer.create(
  :name => "Acme",
  :email => "billing@acmecorp.com",
  :number => "1234",
  :payment_terms => "NET 30"
)
```
:::

The `number` property helps you tie the customer on Invoiced to the ID already used within your system. It is not required as we would generate a value for you if it was not supplied.

We highly recommend saving the customer's Invoiced ID (`id` property) in your own database. This ID is required to retrieve the customer's account, create invoices, and perform any other customer-centric tasks.

### Creating an Invoice

Invoices are another core resource on Invoiced. As you would expect, an invoice represents an amount owed to you by a customer.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/invoices" \
  -u {API_KEY}: \
  -d customer={CUSTOMER_ID} \
  -d items[0][name]="Copy paper, Case" \
  -d items[0][quantity]=3 \
  -d items[0][unit_cost]=45 \
  -d items[1][name]="Delivery" \
  -d items[1][quantity]=1 \
  -d items[1][unit_cost]=10 \
  -d taxes[0][amount]=3.85
```

```java
import com.invoiced.entity.Invoice;
import com.invoiced.entity.LineItem;
import com.invoiced.entity.Tax;

Invoice invoice = invoiced.newInvoice();
invoice.customer = customer.id;
invoice.paymentTerms = "NET 14";
LineItem[] items = new LineItem[2];
items[0] = new LineItem();
items[0].name = "Copy paper, Case";
items[0].quantity = 3D;
items[0].unitCost = 45D;
items[1] = new LineItem();
items[1].name = "Delivery";
items[1].quantity = 1D;
items[1].unitCost = 10D;
invoice.items = items;
Tax[] taxes = new Tax[1];
taxes[0] = new Tax();
taxes[0].amount = 3.85D;
invoice.taxes = taxes;
invoice.create();
```

```php
<?php
$invoice = $invoiced->Invoice->create([
  'customer' => $customer->id,
  'items' => [
    [
      'name' => "Copy paper, Case",
      'quantity' => 3,
      'unit_cost' => 45
    ],
    [
      'name' => "Delivery",
      'quantity' => 1,
      'unit_cost' => 10
    ]
  ],
  'taxes' => [
    [
      'amount' => 3.85
    ]
  ]
]);
```

```python
invoice = client.Invoice.create(
  customer=customer.id,
  items=[
    {
      'name': "Copy paper, Case",
      'quantity': 3,
      'unit_cost': 45
    },
    {
      'name': "Delivery",
      'quantity': 1,
      'unit_cost': 10
    }
  ],
  taxes=[
    {
      'amount': 3.85
    }
  ]
)
```

```ruby
invoice = invoiced.Invoice.create(
  :customer => customer.id,
  :items => [
    {
      :name => "Copy paper, Case",
      :quantity => 3,
      :unit_cost => 45
    },
    {
      :name => "Delivery",
      :quantity => 1,
      :unit_cost => 10
    }
  ],
  :taxes => [
    {
      :amount => 3.85
    }
  ]
)
```
:::

The invoice will inherit the AutoPay and payment term settings from the customer's profile.

### Sending Invoices

Now that you have created the invoice you might want to send it to the customer. That's fairly easy to do through the API.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/invoices/{INVOICE_ID}/emails" \
  -u {API_KEY}: \
  -X POST
```

```java
import com.invoiced.entity.Email;
import com.invoiced.entity.EmailRequest;

EmailRequest emailRequest = new EmailRequest();
Email[] emails = invoice.send(emailRequest);
```

```php
$invoice->send();
```

```python
invoice.send
```

```ruby
invoice.send
```
:::

The customer will be sent the invoice with a **View Invoice** button using the default email template. You can customize these templates through the dashboard in **Settings** → **Emails**.

### Items

Our Items feature allows you to build a simpler, more robust integration by centralizing pricing information for the products and services that you sell. You must first add items through the dashboard in **Settings** → **Items** or through the Items API. Then you can bill for items by simply referencing them by ID:

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/invoices" \
  -u {API_KEY}: \
  -d customer={CUSTOMER_ID} \
  -d items[0][catalog_item]="copy_paper_20lb" \
  -d items[0][quantity]=3 \
  -d items[1][catalog_item]="delivery" \
  -d taxes[0][amount]=3.85
```

```java
import com.invoiced.entity.Invoice;
import com.invoiced.entity.LineItem;
import com.invoiced.entity.Tax;

Invoice invoice = invoiced.newInvoice();
invoice.customer = customer.id;
invoice.paymentTerms = "NET 14";
LineItem[] items = new LineItem[2];
items[0] = new LineItem();
items[0].catalogItem = "copy_paper_20lb";
items[0].quantity = 3D;
items[1] = new LineItem();
items[1].catalogItem = "delivery";
invoice.items = items;
Tax[] taxes = new Tax[1];
taxes[0] = new Tax();
taxes[0].amount = 3.85D;
invoice.taxes = taxes;
invoice.create();
```

```php
<?php
$invoice = $invoiced->Invoice->create([
  'customer' => $customer->id,
  'items' => [
    [
      'catalog_item' => 'copy_paper_20lb',
      'quantity' => 3
    ],
    [
      'catalog_item' => "delivery"
    ]
  ],
  'taxes' => [
    [
      'amount' => 3.85
    ]
  ]
]);
```

```python
invoice = client.Invoice.create(
  customer=customer.id,
  items=[
    {
      'catalog_item': "copy_paper_20lb",
      'quantity': 3
    },
    {
      'catalog_item': "delivery"
    }
  ],
  taxes=[
    {
      'amount': 3.85
    }
  ]
)
```

```ruby
invoiced.Invoice.create(
  :customer => customer.id,
  :items => [
    {
      :catalog_item => "copy_paper_20lb",
      :quantity => 3
    },
    {
      :catalog_item => "delivery"
    }
  ],
  :taxes => [
    {
      :amount => 3.85
    }
  ]
)
```
:::

Note that we did not have to include the `unit_cost` on the item as it was filled in automatically (although you can override per line item by including it). Another benefit of items is that it ties line items together in reports.

### Recording a Payment

On Invoiced payments are represent with the **Payment** resource. A payment models the exchange of value between you and a customer, including payments, refunds, and credits. Whenever customers pay online through the customer portal we automatically create a payment. However, if you accept payments outside of Invoiced, always true if you are accepting checks or wire transfers, then you have to record the payment yourself through the dashboard or API.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/payments" \
  -u {API_KEY}: \
  -d applied_to[type]="invoice" \
  -d applied_to[invoice]={INVOICE_ID} \
  -d method="check" \
  -d reference="1450" \
  -d amount=148.85
```

```java
import com.invoiced.entity.Transaction;

Transaction transaction = invoiced.newTransaction();
transaction.invoice = invoice.id;
transaction.method = "check";
transaction.gatewayId = "1450";
transaction.amount = 148.85;
transaction.create();
```

```php
<?php
$invoiced->Transaction->create([
  'invoice' => $invoice->id,
  'method' => "check",
  'gateway_id' => "1450",
  'amount' => 148.85
]);
```

```python
client.Transaction->create(
  invoice=invoice.id,
  method="check",
  gateway_id="1450",
  amount=148.85
)
```

```ruby
invoiced.Transaction.create(
  :invoice => invoice.id,
  :method => "check",
  :gateway_id => "1450",
  :amount => 148.85
)
```
:::

This will record a payment for the invoice we created earlier and mark it as paid. Since this is an offline payment, the `reference` property can be used to reference a check #. And that's it for a basic accounts receivable workflow.

### What's next?

The [**API reference**](https://developer.invoiced.com/api) explains all of the resources and endpoints available to you. Our other development guides might be useful as well. If you run into any questions or need help with some code then please don't hesitate to contact us. We would love to hear from you.


[title] Payment Information
[path] Developing on Invoiced/

In this document we are going to show you how to collect, store, and use payment information on Invoiced through your own website or application.

## Introduction

When implementing Invoiced into your app or website you often want control over the billing and payment UIs in order to provide customers with a seamless experience. Invoiced v2 tokenization allows you to collect and vault payment information using your own forms while still relying on Invoiced to manage payments. As a result of letting Invoiced handle payment information you can also enjoy simplified PCI compliance.

The way that it works is that within your customer's web browser you can tokenize your customer's payment information that can later be passed to our API in order to save the payment information for future billing or payments. The v2 tokenization system is compatible with Flywire Payments and has been approved by Flywire security.

The key to a secure implementation is to use the Invoiced v2 tokenization scheme. Tokenization gives you a randomly generated token ID that you can pass to your servers that references the payment information collected. The benefit of this approach is to prevent you from directly handling sensitive payment information.

With v2 tokenization, the payment information is sent to Invoiced on the client-side using our JavaScript library through secure iframe containers. When the payment information is sent in you receive a short-lived, single-use token that references the captured payment information, which can be a card or bank account. You can then use that payment info token in our API to vault it on a customer's account or use it to process a payment.

It's important to consider that payment info tokens will only work with your Invoiced account and last for a maximum of 2 hours. Once a token is used it cannot be re-used. As such you should not be storing tokens on your end.

## Invoiced v2 Tokenization Guide

## Overview

This guide covers setting up Invoiced v2 tokenization for Flywire Payments. The v2 implementation is compatible with Flywire Payments and has been approved by Flywire security.

**Choose your path:**

- **First-time setup?** → Follow the [**Payment Information**](docId\:rmv-L-UHHMQgjQVGdMd9d) section
- **Migrating from v1?** → Follow the [**Payment Information**](docId\:rmv-L-UHHMQgjQVGdMd9d) section

***

## First-Time Setup

If you're implementing Invoiced tokenization for the first time, follow these steps:

### Step 1: Provide Domain Allowlist

For security, provide the Flywire Invoiced team with a complete list of domains where you'll collect payment information:

- Your main website domain
- Any subdomains (e.g., `checkout.yourwebsite.com`)

**Example domains to include:**

- `https://yourwebsite.com`
- `https://www.yourwebsite.com`
- `https://checkout.yourwebsite.com`

### Step 2: Get Your Credentials

Contact the Flywire Invoiced team to receive:

1. **Publishable Key** - Unique to your company
2. **Client Key** - For Flywire Invoiced integration
3. **Domain Allowlist Setup** - You'll need to provide your domains (see Step 1)

### Step 3: Add the Script Tag

Add the Invoiced v2 script to your HTML page:

```html
<script src="https://tokenization.invoiced.com/invoiced.js" crossorigin="anonymous"></script>
```

⚠️ **Important**: The `crossorigin="anonymous"` attribute is required.

### Step 4: Configure Invoiced

Initialize Invoiced with your credentials:

```javascript
Invoiced.create(
    {
        publishableKey: "YOUR_PUBLISHABLE_KEY", // From Flywire Invoiced team
        clientKey: "YOUR_CLIENT_KEY",            // From Flywire Invoiced team
        payFacEnv: "live",
        invoicedUrl: "https://tknz.invoiced.com",
    },
    {
        styles: styleObject, // Your styling configuration
    },
    handleCardToken,    // Success handler for card tokenization
    handleACHToken      // Success handler for ACH tokenization
);
```

***

## Migration from v1

If you're upgrading from Invoiced v1, here's what you need to change:

### What Changes

- **Domain Allowlist** - Provide your domains to the Flywire Invoiced team (see [**Payment Information**](docId\:rmv-L-UHHMQgjQVGdMd9d))&#x20;
- **Get New Credentials** - Contact the Flywire Invoiced team for:
  - New Publishable Key
  - New Client Key&#x20;
  - Confirmation that your domains are allowlisted
- **Script URL** - Update to the v2 endpoint:

```html
<!-- OLD v1 Script (Remove this) -->
<script src="https://js.invoiced.com/invoiced.js"></script>

<!-- NEW v2 Script (Use this) -->
<script src="https://tokenization.invoiced.com/invoiced.js" crossorigin="anonymous"></script>
```

- **Configuration** - Update your `Invoiced.create()` config:

```javascript
Invoiced.create(
    {
        publishableKey: "YOUR_NEW_PUBLISHABLE_KEY", // ← Get new key from Flywire Invoiced team
        clientKey: "YOUR_CLIENT_KEY",               // ← Get new key from Flywire Invoiced team
        payFacEnv: "live",
        invoicedUrl: "https://tknz.invoiced.com",   // ← Updated URL (was different in v1)
    },
    // ... rest of your config stays the same
);
```

### What Stays the Same

✅ **Code structure** - Your existing implementation structure remains unchanged
✅ **Styling configuration** - Your `styleObject` works exactly the same
✅ **Event handlers** - Your success/error handlers don't need changes
✅ **Tokenization methods** - `Invoiced.card.tokenize()` and `Invoiced.bankAccount.tokenize()` work the same
✅ **Form structure** - Your HTML form structure remains identical

***

## Complete Example

Here's a complete working example:

```html
<!DOCTYPE html>
<html>
<head>
    <title>Invoiced v2 Tokenization</title>
    <script src="https://tokenization.invoiced.com/invoiced.js" crossorigin="anonymous"></script>
    <style>
        .iframe-container {
            height: 40px;
            width: 300px;
            border: 1px solid #ccc;
            box-sizing: border-box;
            display: block;
            margin-bottom: 20px;
            border-radius: 4px;
        }

        .iframe-container iframe {
            width: 100%;
            height: 100%;
            border: none;
            display: block;
        }
    </style>
</head>
<body>
    <h1>Payment Information</h1>
    
    <div id="customCard-container">
        <label>
            <span>Card Number:</span>
            <span class="iframe-container" data-cse="encryptedCardNumber"></span>
        </label>
        <label>
            <span>Expiry Date:</span>
            <span class="iframe-container" data-cse="encryptedExpiryDate"></span>
        </label>
        <label>
            <span>CVV/CVC:</span>
            <span class="iframe-container" data-cse="encryptedSecurityCode"></span>
        </label>
        <button id="tokenize-button">Submit Payment</button>
    </div>

    <script>
        document.addEventListener('DOMContentLoaded', function() {
            // Style configuration
            const styleObject = {
                base: {
                    height: '30px',
                    background: '#ffffff',
                    caretColor: '#007bff',
                    color: '#333333',
                    display: 'block',
                    fontSize: '16px',
                    fontSmoothing: 'antialiased',
                    webkitFontSmoothing: 'antialiased',
                    mozOsxFontSmoothing: 'grayscale',
                    fontWeight: '400',
                    letterSpacing: 'normal',
                    lineHeight: '1.5',
                    textAlign: 'left',
                    outline: 'none',
                    opacity: '1',
                    padding: '0 5px',
                    transition: 'all 0.2s ease-in-out',
                },
                error: {
                    color: '#d9534f',
                    caretColor: '#d9534f',
                    background: '#fff3f3',
                    outline: '1px solid #d9534f',
                },
                validated: {
                    color: '#28a745',
                    caretColor: '#28a745',
                    background: '#f3fff3',
                    outline: '1px solid #28a745',
                }
            };

            // Success handler for card tokenization
            function handleCardToken(statusCode, response) {
                if (statusCode >= 400) {
                    console.error('Tokenization failed:', response.message);
                    alert('Payment failed: ' + response.message);
                    return;
                }
                
                console.log('Success! Token:', response.invoiced_token);
                // Send token to your backend for payment processing
                processPayment(response.invoiced_token);
            }

            // Success handler for ACH tokenization
            function handleACHToken(statusCode, response) {
                if (statusCode >= 400) {
                    console.error('ACH tokenization failed:', response.message);
                    return;
                }
                
                console.log('ACH Success! Token:', response.invoiced_token);
                processPayment(response.invoiced_token);
            }

            // Initialize Invoiced v2
            Invoiced.create(
                {
                    publishableKey: "YOUR_PUBLISHABLE_KEY_FROM_FLYWIRE_INVOICED_TEAM",
                    clientKey: "YOUR_CLIENT_KEY_FROM_FLYWIRE_INVOICED_TEAM",
                    payFacEnv: "live",
                    invoicedUrl: "https://tknz.invoiced.com",
                },
                {
                    styles: styleObject,
                },
                handleCardToken,
                handleACHToken
            );

            // Button click handler
            document.getElementById('tokenize-button').addEventListener('click', function() {
                const customerName = 'John Doe'; // Get from your form
                const billingAddress = {
                    address1: '123 Main St',
                    address2: null,
                    city: 'New York',
                    state: 'NY',
                    postal_code: '10001',
                    country: 'US'
                };

                // Tokenize the card
                Invoiced.card.tokenize(customerName, billingAddress);
            });

            // Payment processing function
            function processPayment(token) {
                // Send token to your backend API
                fetch('/api/process-payment', {
                    method: 'POST',
                    headers: {
                        'Content-Type': 'application/json',
                    },
                    body: JSON.stringify({
                        invoiced_token: token,
                        // ... other payment data
                    })
                })
                .then(response => response.json())
                .then(data => {
                    console.log('Payment processed:', data);
                    // Handle success
                })
                .catch(error => {
                    console.error('Payment error:', error);
                    // Handle error
                });
            }
        });
    </script>
</body>
</html>
```

***

## Testing Limitations

⚠️ **Important**: Full end-to-end testing is not available for v2 tokenization.

**What you CAN verify:**

- ✅ **Script Loading**: Confirm the new script loads without console errors
- ✅ **Form Rendering**: Verify payment form fields display correctly
- ✅ **Domain Setup**: Check that you can click into payment fields (indicates proper CORS/allowlisting)

**What you CANNOT do:**

- ❌ **Complete Tokenization**: No sandbox environment supports full token generation
- ❌ **Test Card Numbers**: Standard test cards will not work with v2
- ❌ **End-to-End Flow**: Cannot complete full payment flow until production

**Why this limitation exists:** Invoiced v2 does not support Flywire Payments in sandbox environments, so testing must be done directly in production.

**Recommendation:**

- Carefully follow all setup steps in this guide
- Verify your domain allowlisting with the Flywire Invoiced team before going live
- Have your development team ready to troubleshoot quickly if issues arise in production

***

## Troubleshooting

### Common Issues

**1. Form fields won't accept input**

- **Cause**: CORS error - your domain isn't allowlisted
- **Solution**: Contact the Flywire Invoiced team to add your domain to the allowlist

**2. 500 error when submitting**

- **Cause**: Wrong credentials or domain not allowlisted
- **Solution**: Verify your publishable key and client key with the Flywire Invoiced team

**3. Script won't load**

- **Cause**: Missing `crossorigin="anonymous"` attribute
- **Solution**: Add the crossorigin attribute to your script tag

### Getting Help

If you encounter issues:

1. **Check the browser console** for error messages
2. **Verify your credentials** are correct for your environment
3. **Confirm your domain** is in the allowlist provided to the Flywire Invoiced team
4. **Contact the Flywire Invoiced team** with specific error messages

***

## Setup Checklist

- [ ] Added script tag with v2 URL and `crossorigin="anonymous"` attribute
- [ ] Provided complete domain list to the Flywire Invoiced team
- [ ] Received publishable key from the Flywire Invoiced team
- [ ] Received client key from the Flywire Invoiced team
- [ ] Updated configuration with credentials
- [ ] Verified domain allowlisting is complete
- [ ] Tested form rendering and field interaction
- [ ] Updated any documentation or deployment scripts

***

## Support

For technical support:

- Contact the Flywire Invoiced Support Team
- Include browser console errors in any support requests
- Specify your current environment (first-time setup or migration)

***

**Need help?** This setup should be straightforward, but if you run into issues, don't hesitate to reach out to the Flywire Invoiced team for assistance.

[title] OAuth
[path] Developing on Invoiced/

This guide is designed for developers who aim to connect to the Invoiced API with OAuth 2.0 authentication. OAuth is a secure, industry-standard protocol for authorization. By the end of this document, you'll be equipped with the knowledge to implement OAuth authentication for interacting with the Invoiced API, ensuring secure access to your users' Invoiced data.

## Prerequisites

Before you start, ensure you have the following:

- An active Invoiced account.
- Access to the Invoiced dashboard to create OAuth credentials.
- A development environment capable of sending HTTP requests and handling responses.

:::hint{type="info"}
If you are building an application in the sandbox environment then change all URLs from "invoiced.com" to "sandbox.invoiced.com".
:::

## Step 1: Register Your Application

To use OAuth authentication, you must first register your application in the Invoiced dashboard. This process will provide you with the `Client ID` and `Client Secret` necessary for the OAuth flow.

1. **Log in to your Invoiced account.**
2. **Navigate to the Settings -> Developers page.** Look for the OAuth Applications section.
3. **Register a new OAuth application.** Fill in the required fields, such as the application name, and the callback URL. The callback URL is where the OAuth server will redirect after successful authentication.
4. **Save your application.** After registration, you will receive a `Client ID` and `Client Secret`. Keep these credentials safe; they are crucial for the OAuth flow.

## Step 2: Implementing OAuth Flow

OAuth authentication typically involves the following steps:

1. **Authorization Request:** Direct the user to the Invoiced authorization URL, where they will log in and grant your application permission to access their account.
2. **Access Token Request:** After authorization, use the provided authorization code to request an access token.
3. **API Request:** Use the access token to make authenticated requests to the Invoiced API.

### 2.1 Authorization Request

Direct the user to the Invoiced authorization endpoint. Append the following query parameters:

- `response_type`: This should be `code`.
- `client_id`: The Client ID obtained during application registration.
- `redirect_uri`: The same callback URL you provided during registration.
- `scope`: The permissions your application requires. This value should be set to `read_write` or `read`.
- `state`: To prevent CSRF attacks, add a unique token to confirm when the user returns to your website. This is optional.

Example authorization URL:

```text
https://invoiced.com/oauth/authorize?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_CALLBACK_URL&scope=read_write&state=YOUR_STATE_VALUE
```

### 2.2 Access Token Request

Once the user authorizes your application, they will be redirected to your `redirect_uri` with a `code` parameter. Use this code to request an access token by sending a POST request to the Invoiced token endpoint with the following parameters:

- `grant_type`: This should be `authorization_code`.
- `code`: The authorization code you received.
- `redirect_uri`: Your callback URL.
- `client_id`: Your Client ID.
- `client_secret`: Your Client Secret.

Example request using cURL:

```curl
curl -X POST https://invoiced.com/oauth/access_token \
-d "grant_type=authorization_code" \
-d "code=AUTHORIZATION_CODE" \
-d "redirect_uri=YOUR_CALLBACK_URL" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET"
```

Example response:

```json
{
  "token_type": "Bearer",
  "expires_in": 3600,
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJCVUhzTGJtUWFEM3BoMXl5QVVJQThWSDgiLCJqdGkiOiJmNDkxMjZhNGYzZWEwMTBlN2Q1YzAxMjU3OTI4MDMyNmNiM2M0ZWVmM2ZlZjQ4ODQ0NmQzZWI1Yzg0MTczYTdiMGI3NWE4OTcxMGVkZDdmOCIsImlhdCI6MTcwOTc1MTY5MS41NTY1MDMsIm5iZiI6MTcwOTc1MTY5MS41NTY1MDQsImV4cCI6MTcwOTc1NTI5MSwic3ViIjoidGVuYW50OjE2NyIsInNjb3BlcyI6WyJyZWFkX3dyaXRlIl19.mphaDPTAxFcKjI8GAgmD8pzO4JYRM8RWHQtvvY3crn059HWS93tbvVmo_CDI2U7X-41RxnYzUu1NvjWlUyAn4DGypVZiXejAX0M6Yl3r5ZCagZyPT7qg0ug0qlzNTDhub6ULrduVh7rFOhAp9ski8-phsLLR8PqJmVMww0FgAkdV6pS7ZkG40Tzb82dAFqW0E68iNPI_0ljoXWJOHyUIe9xynasSByGdS_Qb7Pceehx0IlInJaSKgOQiD9Kyf4xvQc-GiUOD4tmdDpsFOHmGZwhD2G6t8JEUP5AT5KMA7A02GQRzgfpS4K62tPerUxBRTCKpy0WejEWJTcGKE3YZQQ",
  "refresh_token": "def502001fed8138e0aeb923c7f48b95f3ac06c85f1e72a4088b98afff042bf7c29b8487460589d572099edec37efae588ddab243a86e99b29d2bbab81461b89f552ea05a81d197039af0a92f80f79b5f6a7cc99d927f9e877196706653cda61e25d59b95f9dd29599f75f907354cec86590edc96d21a223986433f4c04997549434b3bdf010d572244b9bc9b985678d07a096571b8630c9581c0226d5274b910dc89e9ef64c51ff00bb35a780ace37e10b2c266c26aadd29054394be2629805f2023a7386e98f9fd68c8fb3300f59ee7f99641606c5ade3ae64e2c5c3dd245e380086b529f72f655d14ab29c777ca658c78584dba1a13ef84378648f05bf2bf72b26c036f69147a6859475cc4a4f2f8d7f17162be98d48a98f35c883f98c04f97edd746935543ab519be370f5716788b7918db0270ec233cf6620d822f00a8e55a074a40056be43935d813d3bd9e490186a2c2f99e919926cf67cc0561bcca8879e18ca95fd5c1c579e7e46bd305cc331b4ec77ec39c97722cdb2a27d50add9ee91f739792f4ca33a22ee215e572d"
}
```

### 2.3 API Request

Use the access token obtained in the previous step to make authenticated API requests. The access token must be included in the Authorization header as a Bearer token.

Example request using cURL:

```curl
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
https://api.invoiced.com/invoices
```

## Step 3: Handling Refresh Tokens

Access tokens are short-lived for security reasons. When an access token expires, use the refresh token (received along with the access token) to obtain a new access token without requiring the user to re-authorize your application.

Send a POST request to the token endpoint with:

- `grant_type`: This should be `refresh_token`.
- `refresh_token`: The refresh token you received.

Example request for a refresh token:

```curl
curl -X POST https://invoiced.com/oauth/access_token \
-d "grant_type=refresh_token" \
-d "refresh_token=YOUR_REFRESH_TOKEN" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET"
```

## Conclusion

By following these steps, you can securely connect to the Invoiced API using OAuth authentication. This method ensures that your application can access only the data it is explicitly granted permission to, providing a secure and user-friendly way to integrate with Invoiced services.

Remember to keep your `Client ID` and `Client Secret` secure, regularly update your application's security practices, and adhere to the OAuth standard to maintain a secure integration with the Invoiced API.

[title] Webhooks
[path] Developing on Invoiced/

Webhooks are HTTP callbacks that notify your systems when important events happen within your Invoiced account.

Invoiced creates events whenever something notable happens on your account, such as an invoice being created or a payment being received. Webhooks allow your integration to be notified asynchronously when an event occurs. The notification is an HTTP POST call that we make to the webhook URL(s) that you set up. You can find a full list of [**supported events**](https://developer.invoiced.com/api/events#event-types) in the API reference.

Example uses of webhooks:

- Updating your membership system when a customer's subscription becomes past due
- Triggering a shipment once an invoice is paid
- Reconciling an invoice in the books after receiving a payment
- Billing for metered usage from the previous period when a subscription renews

## Using webhooks

### Setting up webhooks

It's simple to get started with webhooks. In the dashboard you can go to **Settings** → **Developers** → **Webhooks** to add your endpoint. All you need is a URL (i.e. `https://example.com/invoiced/webhook`) that you want to receive webhooks at.

### Receiving a webhook

Once your webhook endpoint has been set up then any supported events that occur will trigger an HTTP POST call to your endpoint. The request body will be a JSON-encoded string of the event. The event object will also contain the original object that triggered the event, such as an invoice or a transaction. You can see the Event object structure in the [**API reference**](https://developer.invoiced.com/api/eventsi#event-object).

### Validating a webhook

Webhooks are delivered with an `X-Invoiced-Signature` header that contains an HMAC-SHA256 signature of the request body, using your webhook secret as the signing key. This allows you to verify that webhook events came from Invoiced.

The webhook secret can be obtained in **Settings** → **Developers** → **Webhooks**. On each incoming request you can then generate the HMAC digest of the request body using the webhook secret and compare that to the signature sent from Invoiced. While it is not required that you validate webhooks are properly signed we strongly recommended it.

### IP Addresses

Below is a list of IP addresses that webhooks will come from. This can be useful if you need to whitelist the IP addresses that you will receive webhooks from in your firewall rules.

- `52.9.36.210`
- `13.56.137.61`
- `13.59.179.192`
- `3.19.95.157`
- `3.19.101.198`
- `3.209.119.167`
- `3.214.206.190`
- `34.195.191.40`
- `4.213.49.57`
- `100.25.124.96`
- `54.157.144.147`

### Responding to a webhook

We consider a webhook attempt successful when you return a `2xx` HTTP status code within *30 seconds*. Any other status codes will be considered a failure. A response body is not required, and if you do send one it will be ignored.

Instead of processing an event on the spot we recommend that you queue it for later processing and return a `2xx` status code immediately to prevent timeouts.

### Webhook failures

If a webhook attempt fails, Invoiced will reattempt the webhook every 1 hour for up to 48 times (2 days). If the final delivery attempt fails, the webhook endpoint will be disabled.

### Troubleshooting webhooks

We keep a log of recent webhook attempts that is useful for troubleshooting webhook issues. The webhook logs can be accessed in **Settings** → **Developers** → **Webhook Logs** of the Invoiced application. You can also see webhook attempts for specific events by clicking the **Details** button underneath any event.

### Retrying webhooks

Sometimes you might find that a webhook was delivered correctly, but due to an error in your webhook handler it was not processed as desired. Or perhaps your webhook handler was disabled and you missed a few events. On the event details screen there is a **Retry** button next to each of the previous webhook attempts for that event.

### Best Practices

We try our best to deliver webhooks immediately after an event has been created, however, for various reasons there could be a delay between an event happening and when its corresponding webhook gets delivered. For this reason we recommend using API calls whenever you need an immediate answer instead of waiting for a webhook since the API endpoints are synchronous. Otherwise webhooks are perfect for handling asynchronous tasks.

It's possible that the same event could be sent more than once. It's strongly advised to make your webhook idempotent. This means that your webhook can safely receive the same event multiple times without affecting the outcome. An easy way to accomplish this is to track the IDs of events that you process in order to ignore duplicate calls.

If you want to catch up on any missed events or implement a backup mechanism in case a webhook is not delivered then you can use our [**Events API**](https://developer.invoiced.com/api/events#list-all-events) to retrieve recent activity. The events you retrieve will be identical to the payloads sent in webhooks.


[title] Subscription Billing
[path] Developing on Invoiced/

In this guide we are going to show you how to programmatically setup [**subscription billing**](https://docs.invoiced.com/billing/subscription-billing) through the Invoiced API.

## Quickstart Guide

In this example we are going to walk you through setting up a basic subscription billing scenario from scratch.

### Create a customer

In order to bill our customer, we must first create an account for them on Invoiced. For this example we are going to use [**AutoPay**](https://docs.invoiced.com/payments/autopay), which will charge your customer's payment source automatically when invoices are issued on the account, including each billing cycle when the subscription renews.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/customers" \
  -u {API_KEY}: \
  -d name="Acme" \
  -d email="billing@acmecorp.com" \
  -d number="1234" \
  -d autopay=1
```

```java
import com.invoiced.entity.Connection;
import com.invoiced.entity.Customer;

Connection invoiced = new Connection("{YOUR_API_KEY}", false);

Customer customer = invoiced.newCustomer();
customer.name = "Acme";
customer.email = "billing@acmecorp.com";
customer.autopay = true;
customer.create();
```

```php
<?php
$invoiced = new Invoiced\Client("{YOUR_API_KEY}");

$customer = $invoiced->Customer->create([
  'name' => "Acme",
  'email' => "billing@acmecorp.com",
  'number' => "1234",
  'autopay' => true
]);
```

```python
import invoiced
client = invoiced.Client("{YOUR_API_KEY}")

customer = client.Customer.create(
  name="Acme",
  email="billing@acmecorp.com",
  number="1234",
  autopay=True
)
```

```ruby
require "invoiced"
invoiced = Invoiced::Client.new("{YOUR_API_KEY}")

customer = invoiced.Customer.create(
  :name => "Acme",
  :email => "billing@acmecorp.com",
  :number => "1234",
  :autopay => true
)
```
:::

Since our customer does not have payment information yet, they will be sent the first invoice. When they pay that invoice their payment information will be automatically saved because AutoPay is turned on.

### Subscribe the customer to a plan

In this example we are going to bill for charges that happen during our customer's billing cycle, in addition to the base subscription price. The plan we are using was created through the dashboard in **Settings** → **Plans** with the ID `starter`. For example, the plan could be $30/month.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/subscriptions" \
  -u {API_KEY}: \
  -d customer={CUSTOMER_ID} \
  -d plan="starter"
```

```java
import com.invoiced.entity.Subscription;

Subscription subscription = invoiced.newSubscription();
subscription.customer = customer.id;
subscription.plan = "starter";
subscription.create();
```

```php
<?php
$invoiced->Subscription->create([
	'customer' => $customer->id,
	'plan' => "starter"
]);
```

```python
client.Subscription.create(
	customer=customer.id,
	plan="starter"
)
```

```ruby
invoiced.Subscription.create(
	:customer => customer.id,
	:plan => "starter"
)
```
:::

## Subscriptions with Addons

Subscription addons allow you to bill for multiple line items in the same billing cycle. Addons can represent a fixed recurring cost on top of the base price, such as extra user seats or more capacity than the base plan includes. Or addons can represent a usage-based component that is added to the base price, where the amount varies each month depending on usage (see [**metered billing**](https://docs.invoiced.com/dev/metered-billing) for more information). Underneath the hood an addon is just another plan added to a subscription. In this example we are using a plan with the ID `ipad-license` that is $20/month.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/subscriptions" \
  -u {API_KEY}: \
  -d customer={CUSTOMER_ID} \
  -d plan="starter" \
  -d addons[0][plan]="ipad-license" \
  -d addons[0][quantity]=11

```

```java
import com.invoiced.entity.Subscription;
import com.invoiced.entity.SubscriptionAddon;

Subscription subscription = invoiced.newSubscription();
subscription.customer = customer.id;
subscription.plan = "starter";
subscription.addons = new SubscriptionAddon[1];
subscription.addons[0] = new SubscriptionAddon();
subscription.addons[0].plan = "ipad-license";
subscription.addons[0].quantity = 11;
subscription.create();
```

```php
<?php
$invoiced->Subscription->create([
	'customer' => $customer->id,
	'plan' => "starter",
	'addons' => [
		[
			'plan' => "ipad-license",
			'quantity' => 11
		]
	]
]);
```

```python
client.Subscription.create(
	customer=customer.id,
	plan="starter",
	addons=[
		{
			'plan': "ipad-license",
			'quantity': 11
		}
	]
)
```

```ruby
invoiced.Subscription.create(
	:customer => customer.id,
	:plan => "starter",
	:addons => [
		{
			:plan => "ipad-license",
			:quantity => 11
		}
	]
)
```
:::

Note: An addon must use a plan that matches the billing interval of the subscription's primary plan (i.e. you cannot mix monthly and yearly plans on the same subscription).

## Upgrades and Downgrades

Occassionally a subscriber will need to modify their subscription for various reasons, which can result in an increased price (upgrade) or a decreased price (downgrade). Subscription changes that affect the price include changing the billing interval (i.e. going from monthly to yearly billing), changing the base plan, adding or removing addons, and quantity adjustments of the subscription or addons. Invoiced handles subscription changes easily out of the box and will even perform proration calculations for you, up to the second.

### Changing a plan

The easiest subscription change is to change the plan and/or quantity.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/subscriptions/:id" \
  -u {API_KEY}: \
  -d plan="pro" \
  -X PATCH
```

```java
subscription.plan = "pro";
subscription.save();
```

```php
<?php
$subscription->plan = "pro";
$subscription->save();
```

```python
subscription.plan = "pro"
subscription.save()
```

```ruby
subscription.plan = "pro"
subscription.save
```
:::

Note: If you change the base plan to a new billing interval (i.e. monthly to yearly) then any addons must match the billing interval of the new plan.

### Adding an addon

Addons can be added or removed, just as easily as changing the base plan.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/subscriptions/:id" \
  -u {API_KEY}: \
  -d addons[0][plan]="extra-users" \
  -d addons[0][quantity]=25 \
  -X PATCH
```

```java
import com.invoiced.entity.SubscriptionAddon;

subscription.addons = new SubscriptionAddon[1];
subscription.addons[0] = new SubscriptionAddon();
subscription.addons[0].plan = "extra-users";
subscription.addons[0].quantity = 25;
subscription.save();
```

```php
<?php
$subscription->addons = [
    [
        'plan' => "extra-users",
        'quantity' => 25
    ]
];
$subscription->save();
```

```python
subscription.addons = [
    {
        'plan': "extra-users",
        'quantity': 25
    }
]
subscription.save()
```

```ruby
subscription.addons = [
    {
        :plan => "extra-users",
        :quantity => 25
    }
]
subscription.save
```
:::

### Prorations

When you make a change to a subscription that affects the price during the middle of the billing period, Invoiced will by default generate a proration for the time remaining in the billing period. The prorated amount will be added to the next bill, unless the billing interval is changing, in which case a new invoice will be generated immediately.

When modifying the subscription you can pass in `prorate` set to `false` in order to disable prorations. If you are allowing prorations and want to change the timestamp used to generate the proration you can use the `proration_date` parameter (defaults to current timestamp).

Note: Taxes and discounts are excluded from the proration calculations.

## Cancellations

Not all billing arrangements last forever. When a customer is ready to cancel their subscription and stop billing this can be handled with a simple API call.

### Cancel immediately

When canceling a subscription the cancellation will take effect immediately. If you wish to return funds to your customer then you have to perform this calculation yourself.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/subscriptions/:id" \
  -u {API_KEY}: \
  -X DELETE
```

```java
subscription.cancel();
```

```php
<?php
$subscription->cancel();
```

```python
subscription.cancel()
```

```ruby
subscription.cancel
```
:::

Note: Cancellations do not produce a proration.

### Cancel at end of period

Instead of canceling immediately, you can cancel the subscription at the end of the current billing period, or at the end of the current contract term if the subscription has a contract. You might decide to use this because the customer has already paid for the month and they should continue to have access to your service for the full period.

The procedure for canceling at the end of the period is slightly different. You will modify the subscription to set the `cancel_at_period_end` property to `true`. When the subscription is billed next (or up for contract renewal) then the subscription will be canceled instead of being billed.

:::CodeblockTabs
```curl
curl "https://api.invoiced.com/subscriptions/:id" \
  -u {API_KEY}: \
  -d cancel_at_period_end=1 \
  -X PATCH
```

```java
subscription.cancelAtPeriodEnd = true;
subscription.save();
```

```php
<?php
$subscription->cancel_at_period_end = true;
$subscription->save();
```

```python
subscription.cancel_at_period_end = True
subscription.save()
```

```ruby
subscription.cancel_at_period_end = true
subscription.save
```
:::

## What's next?

We have gone through several subscription billing workflows. Of course, business is not always that simple. The [**Subscription Billing**](https://invoiced.com/docs/api/#subscription-billing) section of the API reference details all of the subscription billing endpoints available to you.

[title] Template Language
[path] Developing on Invoiced/

The Invoiced Template Language is a powerful, easy way to customize the invoices, statements, emails, text messages, and more on Invoiced. Our template language is built on the popular Twig template language with custom extensions designed for the unique requirements of billing.

## Usage

Invoiced Template Language can be used to generate personalized emails, messages, and documents. In this document you will learn about all of the capabilities and features of the template language.

### Variables

The most common use of the template language is to output variables. In order to use a variable, the name is wrapped in `{{` and `}}`.

:::CodeblockTabs
Invoiced Template Language

```html
{{ customer.name }}
```
:::

### Tags

Tags allow you to implement logic within your template, like branching and looping.

Here is an example of an if statement:

:::CodeblockTabs
Invoiced Template Language

```html
{% if invoice.status == "past_due" %}
    <div class="past-due-label">PAST DUE</div>
{% endif %}
```
:::

Available tags: (click to learn more)

- [`if`](https://twig.symfony.com/doc/2.x/tags/if.html)
- [`for`](https://twig.symfony.com/doc/2.x/tags/for.html)
- [`set`](https://twig.symfony.com/doc/2.x/tags/set.html)

### Filters

Filters allow you to modify variables before they are output into the document.

Here is an example of a filter that formats the invoice variable as a money amount and output in your document:

:::CodeblockTabs
Invoiced Template Language

```html
{{ invoice.balance|money }}
```
:::

Available filters: (click to learn more)

- [`abs`](https://twig.symfony.com/doc/2.x/filters/abs.html)
- [`batch`](https://twig.symfony.com/doc/2.x/filters/batch.html)
- [`capitalize`](https://twig.symfony.com/doc/2.x/filters/capitalize.html)
- [`date`](https://twig.symfony.com/doc/2.x/filters/date.html)
- [`date_modify`](https://twig.symfony.com/doc/2.x/filters/date_modify.html)
- [`default`](https://twig.symfony.com/doc/2.x/filters/default.html)
- [`escape`](https://twig.symfony.com/doc/2.x/filters/escape.html)
- [`first`](https://twig.symfony.com/doc/2.x/filters/first.html)
- [`format`](https://twig.symfony.com/doc/2.x/filters/format.html)
- [`join`](https://twig.symfony.com/doc/2.x/filters/join.html)
- [`last`](https://twig.symfony.com/doc/2.x/filters/last.html)
- [`length`](https://twig.symfony.com/doc/2.x/filters/length.html)
- [`lower`](https://twig.symfony.com/doc/2.x/filters/lower.html)
- [`merge`](https://twig.symfony.com/doc/2.x/filters/merge.html)
- `money` - Formats a number as a money amount.
- `money_unit_cost` - Formats a number as a money amount according to the rules for unit cost.
- [`nl2br`](https://twig.symfony.com/doc/2.x/filters/nl2br.html)
- [`number_format`](https://twig.symfony.com/doc/2.x/filters/number_format.html)
- `number_format_no_round` - Formats a number without applying any rounding or modification of decimal.
- [`raw`](https://twig.symfony.com/doc/2.x/filters/raw.html)
- [`replace`](https://twig.symfony.com/doc/2.x/filters/replace.html)
- [`reverse`](https://twig.symfony.com/doc/2.x/filters/reverse.html)
- [`round`](https://twig.symfony.com/doc/2.x/filters/round.html)
- [`slice`](https://twig.symfony.com/doc/2.x/filters/slice.html)
- [`sort`](https://twig.symfony.com/doc/2.x/filters/sort.html)
- [`split`](https://twig.symfony.com/doc/2.x/filters/split.html)
- [`title`](https://twig.symfony.com/doc/2.x/filters/title.html)
- [`trim`](https://twig.symfony.com/doc/2.x/filters/trim.html)
- [`upper`](https://twig.symfony.com/doc/2.x/filters/upper.html)

### Functions

You can call a functions to generate content. Functions are called by their name followed by parentheses and optional arguments.

For example this will show the maximum of the two values:

:::CodeblockTabs
Invoiced Template Language

```html
{{ max(invoice.subtotal, invoice.total) }}
```
:::

Functions can be combined with filters:

:::CodeblockTabs
Invoiced Template Language

```html
{{ max(invoice.subtotal, invoice.total)|money }}
```
:::

Available functions: (click to learn more)

- [`cycle`](https://twig.symfony.com/doc/2.x/functions/cycle.html)
- [`date`](https://twig.symfony.com/doc/2.x/functions/date.html)
- [`dump`](https://twig.symfony.com/doc/2.x/functions/dump.html)
- `dump_scope` - Dumps all of the variables available within the template in a readable format.
- [`max`](https://twig.symfony.com/doc/2.x/functions/max.html)
- [`min`](https://twig.symfony.com/doc/2.x/functions/min.html)
- [`random`](https://twig.symfony.com/doc/2.x/functions/random.html)
- [`range`](https://twig.symfony.com/doc/2.x/functions/range.html)
- `trans` - Translates a string in the customer's locale.
- `transchoice` - Translates a string in the customer's locale with pluralization rules.


[title] API Reference
[path] /


[title] API Release Notes
[path] /

:::Changelog{title="March 6, 2024"}
::ChangelogItem{type="added" description="OAuth authentication is now supported as an alternative to API keys."}
:::

:::Changelog{title="May 27, 2022"}
::ChangelogItem{type="added" description="Webhooks can now receive charge.failed events."}
:::

:::Changelog{title="March 11, 2022"}
::ChangelogItem{type="added" description="There is a ?redirect_to parameter on magic links that allow you to redirect your customer to a specific page after signing in with a magic link."}
:::

:::Changelog{title="October 25, 2021"}
::ChangelogItem{type="added" description="All objects now have an updated_at property."}
:::

:::Changelog{title="July 26, 2021"}
::ChangelogItem{type="added" description="Added custom as a new pricing mode to the Plan object.&#xA;"}

::ChangelogItem{type="added" description="Added amount parameter to the Subscription and Subscription Addon objects to specify the amount for Plans priced with the custom pricing mode."}
:::

