Linking Sales quote with schedule of services in contract

I am just wondering if anyone has any suggestions of how best to link the schedule of services in a contract with the quote.

Then I can have within the quote things like Remote IT Support and Onsite IT Support as two services for example. Then on the contract with the schedule of services, it would only show Remote IT Support (and detail exactly what is included in that service) and Onsite IT Support (again detailing exactly what is included in that service).

Making the schedule of service document link up with the quote items means that I don’t have to copy and paste (with all the resulting errors when you forget to update sections) the services actually being purchased within the schedule of services. The idea behind my thinking is that the quote already contains the list of services being provided, so why duplicate the work on the schedule of services and make mistakes with copying and pasting!

I am wondering if I could use the Custom Reports or maybe the API to achieve this?

If I understand correctly, you want the sales quote to specify the services without describing them in detail, referring to a lengthier schedule of services document (that is not part of Manager). I would do things differently. Actually, I have done this for years.

I would create non-inventory items for your various services. Give them generic names that are unlikely to change. Include prices and detailed descriptions. A sales quote can then be constructed quickly, without any risk errors from copying and pasting. Forego the separate schedule of services entirely. When pricing or standard service descriptions change, edit the non-inventory items. (This will not affect prior sales quotes.) If circumstances call for modifications of the standard description, edit that on the sales quote after selecting the non-inventory item.

If desired, you could add item codes for new or modified non-inventory items rather than editing them. That would preserve the option to use the original version at a later date.

Then consider creating a standard version of your sales quote under Form Defaults. Include either all or your most common standard services. Each new sales quote could then be quickly edited to delete unnecessary services or add uncommon ones, with still no copy and paste. If you modify a non-inventory item, you will need to modify the Form Defaults form for sales quotes. Otherwise, the original parameters will remain in place as the defaults. But you can do this by simply clicking the X in the Item field and reselecting the non-inventory item. This will repopulate the line item with the current definition of the non-inventory item. Again, no copying and pasting.

The only downside to this approach that I can see is if your description of elements in your schedule of services are extremely lengthy. They might be longer than you want to appear on other transaction forms, such as sales invoices. In that case, I would put the lengthy descriptions into custom fields used only on sales quotes. The rest of the technique would be similar to what I’ve described.

Yes. My idea is to have a one page document that lists the services and prices and a separate three pages detailing the exact work provided within each service.

For me, cloning quotes for the same client would be less work as it is unlikely that much will change per client. Form defaults would not work as I do a lot of different quotes during the year that would be inventory sales.

Yes - your solution is doable, but three problems. One is that the prices are spread out over several pages which is not desirable if clients are looking at prices first and foremost. You really want all the prices and total on the same page.

Secondly as you have noted is that this makes lengthy quotes and invoices.

Lastly, it will be much harder to see a quick list of all the services purchased if they are over several pages with all the details.

I am hoping that I could use the custom forms to create a document essentially that auto fills when this service is sold or that service is sold. So let’s say that I have 20 potential services and packages and I quote them for five packages in my quote. Then the custom form would display the detail for those five services by linking to whatever non-inventory item is listed in that quote.

I don’t know if this is doable or not, which is why I posted the question as somebody else must have the same requirement. I will ask my website developer whether this is something that can be done via api when we start work on developing the api as he may have another way of doing it.

I really need to investigate custom forms to see what I can actually do with it. Thanks

Then don’t use the Form Defaults portion of my suggestion. Non-inventory items would still work on their own and be a convenient way to speed up quoting and invoicing.

As for your three “problems:”

Then use my custom fields idea instead of putting everything into the descriptions. I already addressed this possible shortcoming.

Your quotes will already be lengthy—several pages as you have described them. I am only suggesting a single document instead of two.

The custom fields approach would shorten the invoice because you would not include those custom fields on the sales invoice.

What you have done is express the same reservation three times in three different ways: pricing is spread out over too much real estate. See my answer to your first expression of this concern.

Overall, what you describe for your attachment document sounds like a relatively trivial application of scripting and/or predefined text blocks in a word processing program. Exact implementation would depend on what application you are using. But you would only need to modify the script or predefined text once for every edit cycle. You could still use my non-inventory item suggestion for the quote itself and generate your attachment or schedule of services in your word processor. If you want that document to be separate, there seems no purpose of trying to extract it from your accounting program—much effort and expense for no gain.

I did not read your last paragraph properly! I assumed that you were advising that the header (service name) and the details would be in the line items section as you said to create non-inventory items with prices and detailed descriptions.

But what you are suggesting instead in your last paragraph (which is actually what I am trying to achieve) is that you have the quote at the top and below that the detailed description of all the services.

So we are on the same page now in understanding one another.

So my question will be is there a way to link the details in the custom fields to the non inventory items selected in the quote. I have looked up custom fields on non inventory items and I can certainly put the details in there. But there is no way that I can see to link that just to the quote. I only have the option to show custom field on printed documents which would include invoices.

I will have to see which option will be less work. Having the quote and contract as two separate documents or whether it is possible to make it one document as you suggest. The problem with one document is that the contract needs to be signed, minimum contract terms need to be defined etc. I probably need to create a custom sales quote theme for contract renewals as well as custom fields. But this is doable as I am not really changing much of the template, just simply adding more text underneath the quote that will always appear on contract forms.

I just need to solve how I get non inventory item custom fields to only show on quotes and not invoices as well.

You will have to exclude them in a custom theme for your invoices.

Yes and no. Regular custom fields are not linked to line items. Regular custom fields are simply information that the program displays (if the box is checked) but otherwise ignores. But line-item custom fields are linked. And custom fields for inventory and non-inventory items behave like line-item custom fields. Those will appear if the inventory or non-inventory item selected has content in the custom field and the box to display on printed documents is checked. But those can only include short content elements, such as serial numbers or lot numbers, because they have to fit within the column allocations for the line. Thus, they are not suitable for your purpose.

To be clear, I was not suggesting putting anything in custom fields for the non-inventory items. I was envisioning regular custom fields that would be displayed at the end of the quote.

As you have revealed more of your thinking, I lean more strongly towards a separate contractual document. I have never been a fan of mixing complex contractual terms and conditions with the accounting process. Simple things like payment deadlines, rebilling policies, and such are fine. But it sounds like you have much more in mind.

I have attempted to do this. I think that it is technically possible to do this if I can find the custom field label in liquid. That way it will be easy to move the custom field below the quote and effectively onto a separate page using a page break.

However, I tried various combinations like {% for field in noninventory.custom_fields %} and so on, but can’t find the right label name.

The potential is there but I think it would be better if Manager allowed the ability to “move” the custom fields wherever we wanted with simple options like insert custom field underneath main document or something.

@lubos - Can you provide a list of custom field labels so that people can move custom fields like the non-inventory items custom field to another location. I believe that I can do this if I know what the custom field label name is. Or would it be possible to add a box to the custom fields to position the custom field to either above form, below form, left one column, right one column etc? Thanks

This would make it possible to use Manager quotes to link to the contract schedule of services without having to manually edit the contract forms by copying/deleting data - which in the past has caused errors to creep in.

Try this:

{% for column in table.columns %}{% unless column.label == “so an so” or column.label == “so and so” %} …

@dalacor, I think you are on the wrong track as you think about non-inventory item custom field contents. Manager treats these like line-item custom fields. As @Ealfardan has implied, the labels and contents are inserted into the table.columns, table.rows, row.cells, and cell.text variable arrays according to the hard coding for the individual transaction form. Then, as the Liquid theme is rendered, they are displayed as part of the main transaction table as appropriate.

So there is lot more to it than just having a “custom field label.” The labels for custom fields are elements in bigger arrays. Both labels and contents are only displayed as part of a loop that is displaying other things, too. Therefore, you can’t just move one thing to a different part of the form. You would have to suppress it in one place and repeat the entire loop elsewhere, suppressing all the other elements.

Yes I understood that I was moving a column for this particular custom field, rather than a text box as per the other custom field.

I have decided to leave this until I have spoken to my website developer as it may end up being easier to do this via the API and CRM system because in addition to moving the custom field, I have to prevent this showing up on invoices and last but not least I have to make sure that the format display look is good (as it is a contract after all).

I am also wanting to find out how to make it easy for the client to digitally sign the contract. The days of printing it out, manually signing it and then scanning it back in again are over. This really needs to be done digitally now.

I will come back to this as it is turning out to be a larger project than expected. Thanks for the advice as I am least a bit further forward.