• Features
  • Feature request: Contract status / Service Agreement management

Hey guys,

here is another idea, any chance the contract status can be implemented to have the contract status as well under clients.php?

then, when click on Contractm show modal options

this will help to remember if client in contract.
status of the contract can be shown within the client portal as well if the contact type is billing

let me know what you think about this

Thank you in advance!

I like this as an idea but I don't think it's something you can just add.

We'd actually have to add some level of contract management rather than just a single date field for this to be worthwhile.

well, we can start from that idea, asked GPT to put it in better understandings 🙂

Contract Status Management: Developer Guide

1. Contract Start Date:

  • Field: client_created_at (Date contract was first created).

  • Set as: contract_started.

2. Contract Period:

  • Field: contract_period.

  • Admin Options: 1 year, 2 years, etc.

  • Action: Calculate contract_expiration by adding contract_period to contract_started.

3. Contract Status:

  • Field: contract_status.

  • Options: handover, active, expired, cancelled.

  • Logic:

    • Automatically set to active during the contract period.

    • Set to expired if the current date passes contract_expiration.

    • Set to cancelled if manually terminated.

4. Contract Renewal:

  • Field: contract_renewal_date.

  • Manual Entry: Admin can manually set the renewal date.

  • Action:

    • If renewed after expiration, update contract_expiration based on the new contract_period starting from contract_renewal_date.

5. Contract Expiration:

  • Field: contract_expiration.

  • Initial Calculation: contract_started + contract_period.

  • Post-Renewal: Update based on contract_renewal_date + contract_period.

I think if we do add this feature it should be a separate table as Client can have more than 1 contract and maybe even tie this into client vendor contracts as well.

You could make the clients_contract, and keep it to the contract between client and the MSP, i wouldn't mix it with the vendors, so this is strictly for the MSP admin to know and manage all the billing aspects based on the contract. get cleaner that way. in addition, there could also be a file update of the contract itself, unless upload it under client documents.

as well, maybe alerts on dashboard, admin email and client email when contract is due to renewal/termination so further discussions can be made.

other contracts that clients have with the vendors, should be just as notes on the clients side.

    a month later

    Could the contract be similar to a recurring invoice with a reminder? Have a link like an invoice has to a ticket but to a document (contract)?

    3 months later

    late to this but would it also make sense to tie contracts into quotes? You could designate the quote as a contract, that way if accepted some of the data from the quote could be used to populate the above mentioned contracts table.

    4 months later
    Merged 1 post from New future .
    wrongecho changed the title to Feature request: Contract status / Service Agreement management .

    aftechro i wouldn't mix it with the vendors,

    I digress. You tie a contract from a vendor (Microsoft 365 / Adobe / Bluebeam) to a client.

      JosephWithCOR this is mainly for your client contract when signing up a new client to manage, to know and managed the support you offering. for instance, my contract (maintenance) client hourly charge is 80euro/hour for call outs, where non-maintenance (no contract) clients, for which i do every now and then bits and bits, i'll charge 120 euro/hour. as well, within the contractual terms, remote support email/phone is included, while non-maintenance clients will be charged for that as well. so the contract aspects, is purely for technician to know how to manage support, and for admins to know when renewal (contract/terms/slas etc) to be discussed.

      for instance, you could have a maintenance client for 8 months for instance, then after 9 months, outside contract period, client calling for assistance, in which case technician can inform the contact client, as outside of support contract, this would be a chargeable task for which primary/billing contact needs to approve.

      licenses with vendors, i`ll keep them separately, as you can set a license, associate to the user, and set purchase date as renewal date, which is tie to a vendor/subscription type.