This is my first post on suitecrm forum.
I try suitecrm since 4 weeks. I don’t know well CRM, workflows ect…
I just need a tools to optimize my company communication between collaborators and clients. I think SuiteCRM is very good for that.
We need an OpenSource solution. I tried vTiger, Odoo and some others but I think SuiteCRM is the best (more friendly interface, a great choice for others employees).
So, now my problem : VAT
The steps when I want to create a quote:
1- Create a product (one time)
2- Create a prospect - or contact or company - (one time)
3 Create a quote
3.1 Assign the prospect/contact/company
3.2 Add products
3.1.1 Add quantity
3.1.2 Select the VAT for this product
I think it will be great if we can set the VAT for a product directly on the product entity (when we create/edit the product). Like this, we doesn’t need to select the VAT each times in the future… (users can make mistakes at point 3.1.2…)
What do you think ? Perhaps my steps are not a best practice… a module maybe exist… ?
Are the product prices in your quote net (VAT amount to be added separately to the indicated product quote price) or gross numbers (VAT amount already included in the indicated product quote price)? I live in Germany and we typically have to choose the second option.
That said, we modified our SuiteCRM to include the VAT rate in the product record.
Our SuiteCRM serves a non-profit organization and handles only gross prices (VAT-including amounts). We indicate the calculated VAT amounts on the finished PDF quote document.
We have no software developers in our association. Our solution required PHP programming, though. I suggest contacting diligent, who developed it for us.
If I’m not mistaken you’ll find three of the prices you’re looking for are available already. That is:
product/service list price (without VAT)
line item total without VAT
line item total with VAT
What is almost certainly missing is Product/service list price (unit price) with VAT included. This is of course assuming you enter product price excl. VAT.
There are always multiple ways to achieve what you’re looking for. Assuming my above assessment is correct. And assuming you want to be able to choose VAT rate on the product level, my guess off the bat the minimum would be something like this:
Module products:
add new dropdown field “VAT” in the products module and choose the last dropdown list called “vat_list”. (This is the same one that’s used in the Quotes module).
(You could add new custom field “unit_price_vat” here and add a logic hook to automatically calculate and save the unit price incl. vat in the products module. But I don’t see any great use for this since you’ll anyway have to add some JS-customizations to the quotes module (see below))
module products_quotes (aka “line items”):
add new currency field “product_unit_price_vat”
module Quotes:
Here it get’s most tricky. The JS file that handles the onscreen calculations when you put together your line items needs to learn new tricks.
(if line item = product) read VAT rate from selected product and set line item vat to this level.
calculate product/service unit price incl. VAT and save to the new “product_unit_price_vat” field upon saving the quote.
module PDF-template
I’m hoping you’d automatically have access to the new field product_unit_price_vat in pdf-templates, but there may be some more magic necessary to get that to show up there, not sure.
No guarantee this is correct, but that’s how I’d start to go about it.
DavidL I like the idea of being able to set the VAT on a product level. You might want to add this as a suggestion to SuiteCRM’s github issue tracker https://github.com/salesagility/SuiteCRM/issues. Just start the title with “suggestion:”
For me the best-case would be for SuiteCRM to come ready with a flexible VAT architecture where vat can be set at multiple places depending on workflow and priority.
default value for all line items (currently possible via studio)
set vat per product
set vat per quote globally
set vat per line item manually (currently possible in quotes module)
Wolf,
Thank you for your answer and your suggestion. But I have some knowledge in development, I think I’ll can do it. (I just must start learning how to develop for suiteCRM).
John,
Thank you very much for your detailed answer !
I had a little thought about the necessary changes and it gets closer to your ideas.
But I’m afraid because I don’t know how the system manage the data… What happens if I delete a product and the quote still exists?
I would like to develop the modifications (like a module/plugin ?) but I don’t have lot of time to learn how to develop for suiteCRM for the moment… :dry:
I know php and other classic web skills (html/js/css).
To make these modifications, I think I need to know :
How/Where edit files to add custom field to product entity (or the studio is the best method ?)
How/Where I can put my JS code to control product entity, and quote entity
Okay… I can do it with the studio !
And it add the variables to the pdf template too…
Now I just need some JS (or php)
to set data to these new fields
If someone can help me it will be good
For your information, when I said “I’m afraid”, this is also for future update… If the team add a field by default to product entity, how can I merge data to work with these new feature if I ever do something for my suiteCRM ?
For all the JS magic you’ll probably want to have a look at this file:
/custom/modules/AOS_Products_Quotes/line_items.js
If it doesn’t exist yet, copy the file /modules/AOS_Products_Quotes/line_items.js into the location above and start editing.
(always make sure the file ownership and permissions are correct)
(make sure to turn off browser cache when working / debugging JS stuff - it can get a bit tacky)
(and turn on Developer mode in Admin>Settings to prevent SuiteCRM’s caching from getting in the way)