[BR] Invoicing - Multiple Invoices for a Single Shipment

Invoice Update Overview -

12 May 2021

A user can create more than one invoice for a single load.

This update enables a Broker Web user to generate multiple invoices for a single shipment.

Invoice Generation Logic

The existing logic for invoice generation should remain until a user sends an invoice to a customer.

1. When the user sends an invoice to a Customer via Zuum :

  • The “Invoice Date” should be set to the current date

  • The “Due By Date” should be set to [current date + nDays]

    • n =

      • If the Customer has “Payment Terms” defined by the Broker in the Customers > Details > Payment Terms, then n = this number; else

      • the default number of days set by the system (generally this is 30)

  • All financial data that went into that invoice becomes locked and associated with that invoice

    • The user cannot change any line items that are were included in an invoice that has been sent to a customer

2. Generating a Second Invoice

If a user adds financial data for a Customer; AND

  • That Customer has already been invoiced; THEN

  • The system should generate an additional invoice.

The additional invoice should function as a standard invoice:

  • It should update dynamically with changes, additions, or removal of items from the shipment’s financials

When the user sends the additional invoice to the Customer, please apply the logic from Step 1.

Invoice Numbering

A user can create more than one invoice for a single load.

The Invoice number should be the load number with the following additional elements:

  • There should be a lowercase “r” immediately at the end of the load #. The “r” stands for Receivable, as this is an invoice

  • An uppercase letter should be added after the “r”

    • This letter should be the letter “A”

    • If the user creates a second invoice for the same load, this letter should be “B”

    • For every additional invoice, replace “B” with the next letter in the alphabet

    • If the end of the alphabet is reached, add a second letter and continue with the same sequence (ex. Z, AA, AB, AC, etc.)

  • Example: A shipment has the Load ID: 1234

    • When the user creates an invoice, the invoice # should be 1234rA

    • If the user creates a second invoice for the same load, the second invoice’s # should be 1234rB

Bills should have a similar numbering system. For more details, see requirements for Bill Numbering

Updates to UI

Shipment > Financials

Invision

The Shipment > Financials page requires a new “Invoice #” column in the “Income/Budget Items” and “Expense Items” tables.

This column displays the invoice number for financials that were included in an invoice that has been sent to a Customer

Logic for “Invoice #” Column

  • IF financial items have been input, AND an invoice that includes those financial items has been sent to the Customer, display that invoice #;

  • If financial items have been input, but an invoice that includes those financial items has not yet been sent, the column should be blank

For Expense Items, this new column should be labeled Bill #, and display the appropriate Bill #

Shipment > Invoice > Customer Invoice

InVision

The Shipment > Invoice > Customer Invoice page needs to be changed to a data table with a list of invoices and their status

  • Each invoice will link to the “Invoice” template currently in use in the invoice page

New Invoice Page Elements

  1. Data Table with the following columns:

    1. Invoice # - this is the number given to the invoice per the Invoice Numbering system defined above

    2. Total Balance - This is the total balance (sum of income items) on the invoice

    3. Invoice Status - This displays whether the invoice has been sent, or whether it’s still a draft. The options are

      1. Sent

      2. Draft

    4. Invoice Date - This is the date that the invoice was sent to the customer

    5. Pay Status - This displays whether the invoice has been paid (info from accounting module)

      1. Paid (green)

      2. Partial Payment (blue)

      3. Not Paid (red)

    6. Payment Date - This displays the last date that a payment was made on an invoice

    7. Balance Due - This displays the total due on an invoice.

      1. This is a link. When clicked, it pops up the “Payment History” modal from the accounting module

    8. Exported to [Accounting Software] - This tells the user whether this invoice has been exported to the accounting software integrated with the user’s application (ex. Quickbooks). Options are:

      1. Green Check (true)

      2. Red X (false)

    9. Export Date and Time - This displays the date and time that the invoice was exported to the user’s accounting software

    10. View Document Button - When the user clicks on this button, the user is taken to the “view invoice” page (which is the same as the current invoice page)

      1. If the user has

        1. sent the invoice, this button should be green;

        2. not sent the invoice, this button should be gray;

    11. Options (3 dots) - When the user clicks this, there is a dropdown with the following options

      1. Send to Customer - this triggers the “Email Invoice” flow

      2. Download - downloads the invoice to the user’s local storage

  2. The data table has a row at the bottom that displays the total amount invoiced

Note: No Pagination

It’s unlikely that the number of records here will exceed 10, so there is no need for pagination on this page.

Update to Payment History Modal

In the payment history modal, please change the text in the top line from “Invoice Total” to “Total Balance”

Do not update the UI of the payment history modal

Updates to Capacity Pro and Shipper TMS

The Shipment > Bill page on Capacity Pro and Shipper TMS will need to be updated in the same way as the Broker > Invoices > Customer Invoice page.

Exception:

The dropdown options should be:

  • Email

  • Download

Pay options should always apply to the total balance of all invoices for a shipment, not only to a single invoice