diff --git a/sales/invoicing.rst b/sales/invoicing.rst index 9cbe80f6d..96cbe4651 100644 --- a/sales/invoicing.rst +++ b/sales/invoicing.rst @@ -5,4 +5,10 @@ Invoicing Method .. toctree:: :titlesonly: - invoicing/services + invoicing/invoicing_policy + invoicing/down_payment + invoicing/proforma + invoicing/time_materials + invoicing/milestone + invoicing/expense + invoicing/subscriptions diff --git a/sales/invoicing/down_payment.rst b/sales/invoicing/down_payment.rst new file mode 100644 index 000000000..8d39780ba --- /dev/null +++ b/sales/invoicing/down_payment.rst @@ -0,0 +1,45 @@ +====================== +Request a down payment +====================== + +A down payment is an initial, partial payment, with the agreement that +the rest will be paid later. For expensive orders or projects, it is a +way to protect yourself and make sure your customer is serious. + +First time you request a down payment +===================================== + +When you confirm a sale, you can create an invoice and select a down +payment option. It can either be a fixed amount or a percentage of the +total amount. + +The first time you request a down payment you can select an income +account and a tax setting that will be reused for next down payments. + +.. image:: media/down_payment01.png + :align: center + +You will then see the invoice for the down payment. + +.. image:: media/down_payment02.png + :align: center + +On the subsequent or final invoice, any prepayment made will be +automatically deducted. + +.. image:: media/down_payment03.png + :align: center + +Modify the income account and customer taxes +============================================ + +From the products list, search for *Down Payment*. + +.. image:: media/down_payment04.png + :align: center + +You can then edit it, under the invoicing tab you will be able to change +the income account & customer taxes. + +.. image:: media/down_payment05.png + :align: center diff --git a/sales/invoicing/expense.rst b/sales/invoicing/expense.rst new file mode 100644 index 000000000..8a31795eb --- /dev/null +++ b/sales/invoicing/expense.rst @@ -0,0 +1,65 @@ +================================ +Re-invoice expenses to customers +================================ + +It often happens that your employees have to spend their personal money +while working on a project for your client. Let's take the example of an +consultant paying an hotel to work on the site of your client. As a +company, you would like to be able to invoice that expense to your +client. + +Expenses configuration +====================== + +To track & invoice expenses, you will need the expenses app. Go to +:menuselection:`Apps --> Expenses` to install it. + +You should also activate the analytic accounts feature to link expenses +to the sales order, to do so, go to :menuselection:`Invoicing --> +Configuration --> Settings` and activate *Analytic Accounting*. + +Add expenses to your sales order +================================ + +From the expense app, you or your consultant can create a new one, e.g. +the hotel for the first week on the site of your customer. + +You can then enter a relevant description and select an existing product +or create a new one from right there. + +.. image:: media/expense01.png + :align: center + +Here, we are creating a *Hotel* product: + +.. image:: media/expense02.png + :align: center + +Under the invoicing tab, select *Delivered quantities* and either *At +cost* or *Sales price* as well depending if you want to invoice the +cost of your expense or a previously agreed on sales price. + +.. image:: media/expense03.png + :align: center + +To modify or create more products go to :menuselection:`Expenses --> +Configuration --> Expense products`. + +Back on the expense, add the original sale order in the expense to +submit. + +.. image:: media/expense04.png + :align: center + +It can then be submitted to the manager, approved and finally posted. + +.. image:: media/expense05.png + :align: center + +.. image:: media/expense06.png + :align: center + +.. image:: media/expense07.png + :align: center + +It will then be in the sales order and ready to be invoiced. diff --git a/sales/invoicing/invoicing_policy.rst b/sales/invoicing/invoicing_policy.rst new file mode 100644 index 000000000..e1c3fedec --- /dev/null +++ b/sales/invoicing/invoicing_policy.rst @@ -0,0 +1,49 @@ +================================================ +Invoice based on delivered or ordered quantities +================================================ + +Depending on your business and what you sell, you have two options for +invoicing: + +- Invoice on ordered quantity: invoice the full order as soon as the sales + order is confirmed. +- Invoice on delivered quantity: invoice on what you delivered even if + it's a partial delivery. + +Invoice on ordered quantity is the default mode. + +The benefits of using *Invoice on delivered quantity* depends on your +type of business, when you sell material, liquids or food in large +quantities the quantity might diverge a little bit and it is therefore +better to invoice the actual delivered quantity. + +.. note:: + You also have the ability to invoice manually, letting you + control every options: invoice ready to invoice lines, invoice a + percentage (advance), invoice a fixed advance. + +Decide the policy on a product page +=================================== + +From any products page, under the invoicing tab you will find the +invoicing policy and select the one you want. + +.. image:: media/invoicing_policy01.png + :align: center + +Send the invoice +================ + +Once you confirm the sale, you can see your delivered and invoiced +quantities. + +.. image:: media/invoicing_policy02.png + :align: center + +If you set it in ordered quantities, you can invoice as soon as the sale +is confirmed. If however you selected delivered quantities, you will +first have to validate the delivery. + +Once the products are delivered, you can invoice your customer. Odoo +will automatically add the quantities to invoiced based on how many you +delivered if you did a partial delivery. diff --git a/sales/invoicing/media/down_payment01.png b/sales/invoicing/media/down_payment01.png new file mode 100644 index 000000000..84c0458e2 Binary files /dev/null and b/sales/invoicing/media/down_payment01.png differ diff --git a/sales/invoicing/media/down_payment02.png b/sales/invoicing/media/down_payment02.png new file mode 100644 index 000000000..5694d8fa1 Binary files /dev/null and b/sales/invoicing/media/down_payment02.png differ diff --git a/sales/invoicing/media/down_payment03.png b/sales/invoicing/media/down_payment03.png new file mode 100644 index 000000000..806b3b9b2 Binary files /dev/null and b/sales/invoicing/media/down_payment03.png differ diff --git a/sales/invoicing/media/down_payment04.png b/sales/invoicing/media/down_payment04.png new file mode 100644 index 000000000..4bceb7d40 Binary files /dev/null and b/sales/invoicing/media/down_payment04.png differ diff --git a/sales/invoicing/media/down_payment05.png b/sales/invoicing/media/down_payment05.png new file mode 100644 index 000000000..bf1465363 Binary files /dev/null and b/sales/invoicing/media/down_payment05.png differ diff --git a/sales/invoicing/media/expense01.png b/sales/invoicing/media/expense01.png new file mode 100644 index 000000000..9976b7504 Binary files /dev/null and b/sales/invoicing/media/expense01.png differ diff --git a/sales/invoicing/media/expense02.png b/sales/invoicing/media/expense02.png new file mode 100644 index 000000000..24861d3cf Binary files /dev/null and b/sales/invoicing/media/expense02.png differ diff --git a/sales/invoicing/media/expense03.png b/sales/invoicing/media/expense03.png new file mode 100644 index 000000000..4c8e36a34 Binary files /dev/null and b/sales/invoicing/media/expense03.png differ diff --git a/sales/invoicing/media/expense04.png b/sales/invoicing/media/expense04.png new file mode 100644 index 000000000..d3ccf4f8c Binary files /dev/null and b/sales/invoicing/media/expense04.png differ diff --git a/sales/invoicing/media/expense05.png b/sales/invoicing/media/expense05.png new file mode 100644 index 000000000..bd7de4fa4 Binary files /dev/null and b/sales/invoicing/media/expense05.png differ diff --git a/sales/invoicing/media/expense06.png b/sales/invoicing/media/expense06.png new file mode 100644 index 000000000..0938cf4c9 Binary files /dev/null and b/sales/invoicing/media/expense06.png differ diff --git a/sales/invoicing/media/expense07.png b/sales/invoicing/media/expense07.png new file mode 100644 index 000000000..3089c93fd Binary files /dev/null and b/sales/invoicing/media/expense07.png differ diff --git a/sales/invoicing/media/invoicing_policy01.png b/sales/invoicing/media/invoicing_policy01.png new file mode 100644 index 000000000..2c8f9bb8d Binary files /dev/null and b/sales/invoicing/media/invoicing_policy01.png differ diff --git a/sales/invoicing/media/invoicing_policy02.png b/sales/invoicing/media/invoicing_policy02.png new file mode 100644 index 000000000..bc47ecc52 Binary files /dev/null and b/sales/invoicing/media/invoicing_policy02.png differ diff --git a/sales/invoicing/media/milestone01.png b/sales/invoicing/media/milestone01.png new file mode 100644 index 000000000..332156af5 Binary files /dev/null and b/sales/invoicing/media/milestone01.png differ diff --git a/sales/invoicing/media/milestone02.png b/sales/invoicing/media/milestone02.png new file mode 100644 index 000000000..2f47bd3f1 Binary files /dev/null and b/sales/invoicing/media/milestone02.png differ diff --git a/sales/invoicing/media/proforma01.png b/sales/invoicing/media/proforma01.png new file mode 100644 index 000000000..63c3fef9a Binary files /dev/null and b/sales/invoicing/media/proforma01.png differ diff --git a/sales/invoicing/media/proforma02.png b/sales/invoicing/media/proforma02.png new file mode 100644 index 000000000..c00219e54 Binary files /dev/null and b/sales/invoicing/media/proforma02.png differ diff --git a/sales/invoicing/media/proforma03.png b/sales/invoicing/media/proforma03.png new file mode 100644 index 000000000..8085cb6b8 Binary files /dev/null and b/sales/invoicing/media/proforma03.png differ diff --git a/sales/invoicing/media/subscriptions01.png b/sales/invoicing/media/subscriptions01.png new file mode 100644 index 000000000..e85c17b51 Binary files /dev/null and b/sales/invoicing/media/subscriptions01.png differ diff --git a/sales/invoicing/media/time_materials01.png b/sales/invoicing/media/time_materials01.png new file mode 100644 index 000000000..71e85e39a Binary files /dev/null and b/sales/invoicing/media/time_materials01.png differ diff --git a/sales/invoicing/media/time_materials02.png b/sales/invoicing/media/time_materials02.png new file mode 100644 index 000000000..4a5125c8c Binary files /dev/null and b/sales/invoicing/media/time_materials02.png differ diff --git a/sales/invoicing/media/time_materials03.png b/sales/invoicing/media/time_materials03.png new file mode 100644 index 000000000..e1c9139a0 Binary files /dev/null and b/sales/invoicing/media/time_materials03.png differ diff --git a/sales/invoicing/media/time_materials04.png b/sales/invoicing/media/time_materials04.png new file mode 100644 index 000000000..896ea8937 Binary files /dev/null and b/sales/invoicing/media/time_materials04.png differ diff --git a/sales/invoicing/media/time_materials05.png b/sales/invoicing/media/time_materials05.png new file mode 100644 index 000000000..e4250da91 Binary files /dev/null and b/sales/invoicing/media/time_materials05.png differ diff --git a/sales/invoicing/media/time_materials06.png b/sales/invoicing/media/time_materials06.png new file mode 100644 index 000000000..9976b7504 Binary files /dev/null and b/sales/invoicing/media/time_materials06.png differ diff --git a/sales/invoicing/media/time_materials07.png b/sales/invoicing/media/time_materials07.png new file mode 100644 index 000000000..24861d3cf Binary files /dev/null and b/sales/invoicing/media/time_materials07.png differ diff --git a/sales/invoicing/media/time_materials08.png b/sales/invoicing/media/time_materials08.png new file mode 100644 index 000000000..4c8e36a34 Binary files /dev/null and b/sales/invoicing/media/time_materials08.png differ diff --git a/sales/invoicing/media/time_materials09.png b/sales/invoicing/media/time_materials09.png new file mode 100644 index 000000000..d3ccf4f8c Binary files /dev/null and b/sales/invoicing/media/time_materials09.png differ diff --git a/sales/invoicing/media/time_materials10.png b/sales/invoicing/media/time_materials10.png new file mode 100644 index 000000000..bd7de4fa4 Binary files /dev/null and b/sales/invoicing/media/time_materials10.png differ diff --git a/sales/invoicing/media/time_materials11.png b/sales/invoicing/media/time_materials11.png new file mode 100644 index 000000000..0938cf4c9 Binary files /dev/null and b/sales/invoicing/media/time_materials11.png differ diff --git a/sales/invoicing/media/time_materials12.png b/sales/invoicing/media/time_materials12.png new file mode 100644 index 000000000..3089c93fd Binary files /dev/null and b/sales/invoicing/media/time_materials12.png differ diff --git a/sales/invoicing/media/time_materials13.png b/sales/invoicing/media/time_materials13.png new file mode 100644 index 000000000..e68ef3ad5 Binary files /dev/null and b/sales/invoicing/media/time_materials13.png differ diff --git a/sales/invoicing/milestone.rst b/sales/invoicing/milestone.rst new file mode 100644 index 000000000..353ec5245 --- /dev/null +++ b/sales/invoicing/milestone.rst @@ -0,0 +1,33 @@ +========================== +Invoice project milestones +========================== + +Milestone invoicing can be used for expensive or large-scale projects, +with each milestone representing a clear sequence of work that will +incrementally build up to the completion of the contract. This invoicing +method is comfortable both for the company which is ensured to get a +steady cash flow throughout the project lifetime and for the client who +can monitor the project's progress and pay in several installments. + +Create milestone products +========================= + +In Odoo, each milestone of your project is considered as a product. To +configure products to work this way, go to any product form. + +You have to set the product type as *Service* under general +information and select *Milestones* in the sales tab. + +.. image:: media/milestone01.png + :align: center + +Invoice milestones +================== + +From the sales order, you can manually edit the quantity delivered as +you complete a milestone. + +.. image:: media/milestone02.png + :align: center + +You can then invoice that first milestone. diff --git a/sales/invoicing/proforma.rst b/sales/invoicing/proforma.rst new file mode 100644 index 000000000..dee828c57 --- /dev/null +++ b/sales/invoicing/proforma.rst @@ -0,0 +1,34 @@ +======================== +Send a pro-forma invoice +======================== + +A pro-forma invoice is an abridged or estimated invoice in advance of a +delivery of goods. It notes the kind and quantity of goods, their value, +and other important information such as weight and transportation +charges. Pro-forma invoices are commonly used as preliminary invoices +with a quotation, or for customs purposes in importation. They differ +from a normal invoice in not being a demand or request for payment. + +Activate the feature +==================== + +Go to :menuselection:`SALES --> Configuration --> Settings` and activate +the *Pro-Forma Invoice* feature. + +.. image:: media/proforma01.png + :align: center + +Send a pro-forma invoice +======================== + +From any quotation or sales order, you know have an option to send a +pro-forma invoice. + +.. image:: media/proforma02.png + :align: center + +When you click on send, Odoo will send an email with the pro-forma +invoice in attachment. + +.. image:: media/proforma03.png + :align: center diff --git a/sales/invoicing/services.rst b/sales/invoicing/services.rst deleted file mode 100644 index 795821f62..000000000 --- a/sales/invoicing/services.rst +++ /dev/null @@ -1,10 +0,0 @@ -======== -Services -======== - -.. toctree:: - :titlesonly: - - services/milestones - services/reinvoice - services/support \ No newline at end of file diff --git a/sales/invoicing/services/media/milestones01.png b/sales/invoicing/services/media/milestones01.png deleted file mode 100644 index 16df19331..000000000 Binary files a/sales/invoicing/services/media/milestones01.png and /dev/null differ diff --git a/sales/invoicing/services/media/milestones02.png b/sales/invoicing/services/media/milestones02.png deleted file mode 100644 index 9ef1e8c6c..000000000 Binary files a/sales/invoicing/services/media/milestones02.png and /dev/null differ diff --git a/sales/invoicing/services/media/milestones03.png b/sales/invoicing/services/media/milestones03.png deleted file mode 100644 index dba2a339b..000000000 Binary files a/sales/invoicing/services/media/milestones03.png and /dev/null differ diff --git a/sales/invoicing/services/media/milestones04.png b/sales/invoicing/services/media/milestones04.png deleted file mode 100644 index 4b747e502..000000000 Binary files a/sales/invoicing/services/media/milestones04.png and /dev/null differ diff --git a/sales/invoicing/services/media/reinvoice01.png b/sales/invoicing/services/media/reinvoice01.png deleted file mode 100644 index 16df19331..000000000 Binary files a/sales/invoicing/services/media/reinvoice01.png and /dev/null differ diff --git a/sales/invoicing/services/media/reinvoice02.png b/sales/invoicing/services/media/reinvoice02.png deleted file mode 100644 index eb1e2f3ca..000000000 Binary files a/sales/invoicing/services/media/reinvoice02.png and /dev/null differ diff --git a/sales/invoicing/services/media/reinvoice03.png b/sales/invoicing/services/media/reinvoice03.png deleted file mode 100644 index b0aa23f79..000000000 Binary files a/sales/invoicing/services/media/reinvoice03.png and /dev/null differ diff --git a/sales/invoicing/services/media/reinvoice04.png b/sales/invoicing/services/media/reinvoice04.png deleted file mode 100644 index 79d4b8af2..000000000 Binary files a/sales/invoicing/services/media/reinvoice04.png and /dev/null differ diff --git a/sales/invoicing/services/media/reinvoice05.png b/sales/invoicing/services/media/reinvoice05.png deleted file mode 100644 index 3b8c25eed..000000000 Binary files a/sales/invoicing/services/media/reinvoice05.png and /dev/null differ diff --git a/sales/invoicing/services/media/reinvoice06.png b/sales/invoicing/services/media/reinvoice06.png deleted file mode 100644 index 83ddcb5bb..000000000 Binary files a/sales/invoicing/services/media/reinvoice06.png and /dev/null differ diff --git a/sales/invoicing/services/media/reinvoice07.png b/sales/invoicing/services/media/reinvoice07.png deleted file mode 100644 index 1b0f2c4c4..000000000 Binary files a/sales/invoicing/services/media/reinvoice07.png and /dev/null differ diff --git a/sales/invoicing/services/media/reinvoice08.png b/sales/invoicing/services/media/reinvoice08.png deleted file mode 100644 index a876b493f..000000000 Binary files a/sales/invoicing/services/media/reinvoice08.png and /dev/null differ diff --git a/sales/invoicing/services/media/reinvoice09.png b/sales/invoicing/services/media/reinvoice09.png deleted file mode 100644 index 1c37e7d7a..000000000 Binary files a/sales/invoicing/services/media/reinvoice09.png and /dev/null differ diff --git a/sales/invoicing/services/media/support01.png b/sales/invoicing/services/media/support01.png deleted file mode 100644 index 16df19331..000000000 Binary files a/sales/invoicing/services/media/support01.png and /dev/null differ diff --git a/sales/invoicing/services/media/support02.png b/sales/invoicing/services/media/support02.png deleted file mode 100644 index 1b54e74ab..000000000 Binary files a/sales/invoicing/services/media/support02.png and /dev/null differ diff --git a/sales/invoicing/services/media/support03.png b/sales/invoicing/services/media/support03.png deleted file mode 100644 index 0dfffe7e7..000000000 Binary files a/sales/invoicing/services/media/support03.png and /dev/null differ diff --git a/sales/invoicing/services/media/support04.png b/sales/invoicing/services/media/support04.png deleted file mode 100644 index d4ae35828..000000000 Binary files a/sales/invoicing/services/media/support04.png and /dev/null differ diff --git a/sales/invoicing/services/media/support05.png b/sales/invoicing/services/media/support05.png deleted file mode 100644 index 1519a44eb..000000000 Binary files a/sales/invoicing/services/media/support05.png and /dev/null differ diff --git a/sales/invoicing/services/media/support06.png b/sales/invoicing/services/media/support06.png deleted file mode 100644 index 3134d0a40..000000000 Binary files a/sales/invoicing/services/media/support06.png and /dev/null differ diff --git a/sales/invoicing/services/media/support07.png b/sales/invoicing/services/media/support07.png deleted file mode 100644 index 570b6fb9a..000000000 Binary files a/sales/invoicing/services/media/support07.png and /dev/null differ diff --git a/sales/invoicing/services/milestones.rst b/sales/invoicing/services/milestones.rst deleted file mode 100644 index db810291c..000000000 --- a/sales/invoicing/services/milestones.rst +++ /dev/null @@ -1,125 +0,0 @@ -======================================= -How to invoice milestones of a project? -======================================= - -There are different kind of service sales: prepaid volume of hours/days -(e.g. support contract), billing based on time and material (e.g. -billing consulting hours) or a fixed price contract (e.g. a project). - -In this section, we will have a look at how to invoice milestones of a -project. - -Milestone invoicing can be used for expensive or large scale projects, -with each milestone representing a clear sequence of work that will -incrementally build up to the completion of the contract. For example, a -marketing agency hired for a new product launch could break down a -project into the following milestones, each of them considered as one -service with a fixed price on the sale order : - -- Milestone 1 : Marketing strategy audit - 5 000 euros - -- Milestone 2 : Brand Identity - 10 000 euros - -- Milestone 3 : Campaign launch & PR - 8 500 euros - -In this case, an invoice will be sent to the customer each time a -milestone will be successfully reached. That invoicing method is -comfortable both for the company which is ensured to get a steady cash -flow throughout the project lifetime and for the client who can monitor -the project's progress and pay in several times. - -.. note:: - You can also use milestones to invoice percentages of the entire - project. For example, for a million euros project, your company - might require a 15% upfront payment, 30% at the midpoint and the - balance at the contract conclusion. In that case, each payment will - be considered as one milestone. - -Configuration -============= - -Install the Sales application ------------------------------ - -In order to sell services and to send invoices, you need to install the -**Sales** application, from the **Apps** icon. - -.. image:: media/milestones01.png - :align: center - -Create products ---------------- - -In Odoo, each milestone of your project is considered as a product. From -the **Sales** application, use the menu :menuselection:`Sales --> Products`, -create a new product with the following setup: - -- **Name**: Strategy audit - -- **Product Type**: Service - -- **Invoicing Policy**: Delivered Quantities, since you will invoice - your milestone after it has been delivered - -- **Track Service**: Manually set quantities on order, as you - complete each milestone, you will manually update their quantity - from the **Delivered** tab on your sale order - -.. image:: media/milestones02.png - :align: center - -.. note:: - Apply the same configuration for the others milestones. - -Managing your project -===================== - -Quotations and sale orders --------------------------- - -Now that your milestones (or products) are created, you can create a -quotation or a sale order with each line corresponding to one milestone. -For each line, set the **Ordered Quantity** to ``1`` as each milestone is -completed once. Once the quotation is confirmed and transformed into a -sale order, you will be able to change the delivered quantities when the -corresponding milestone has been achieved. - -.. image:: media/milestones03.png - :align: center - -Invoice milestones ------------------- - -Let's assume that your first milestone (the strategy audit) has been -successfully delivered and you want to invoice it to your customer. On -the sale order, click on **Edit** and set the **Delivered Quantity** of the -related product to ``1``. - -.. tip:: - As soon as the above modification has been saved, you will notice - that the color of the line has changed to blue, meaning that the - service can now be invoiced. In the same time, the invoice status - of the SO has changed from **Nothing To Invoice** to **To Invoice** - -Click on **Create invoice** and, in the new window that pops up, select -**Invoiceable lines** and validate. It will create a new invoice (in draft -status) with only the **strategy audit** product as invoiceable. - -.. image:: media/milestones04.png - :align: center - -.. note:: - In order to be able to invoice a product, you need to set up the - **Accounting** application and to configure an accounting journal - and a chart of account. Click on the following link to learn more: - :doc:`../../../accounting/overview/getting_started/setup` - -Back on your sale order, you will notice that the **Invoiced** column of -your order line has been updated accordingly and that the **Invoice -Status** is back to **Nothing to Invoice**. - -Follow the same workflow to invoice your remaining milestones. - -.. seealso:: - * :doc:`reinvoice` - * :doc:`support` \ No newline at end of file diff --git a/sales/invoicing/services/reinvoice.rst b/sales/invoicing/services/reinvoice.rst deleted file mode 100644 index e8aecbf28..000000000 --- a/sales/invoicing/services/reinvoice.rst +++ /dev/null @@ -1,186 +0,0 @@ -============================================= -How to re-invoice expenses to your customers? -============================================= - -It often happens that your employees have to spend their personal money -while working on a project for your client. Let's take the example of an -employee paying a parking spot for a meeting with your client. As a -company, you would like to be able to invoice that expense to your -client. - -In this documentation we will see two use cases. The first, very basic, -consists of invoicing a simple expense to your client like you would do -for a product. The second, more advanced, will consist of invoicing -expenses entered in your expense system by your employees directly to -your customer. - -Use case 1: Simple expense invoicing -==================================== - -Let's take the following example. You are working on a promotion -campaign for one of your customers (``Agrolait``) and you have to print a -lot of copies. Those copies are an expense for your company and you -would like to invoice them. - -Configuration -------------- - -In order to sell services and to send invoices, you need to install the -**Sales** application, from the **Apps** icon. - -.. image:: media/reinvoice01.png - :align: center - -Create product to be expensed ------------------------------ - -You will need now to create a product called ``Copies``. - -From your **Sales** module, go to :menuselection:`Sales --> Products` -and create a product as follows: - -- **Product type**: consumable - -- **Invoicing policy**: on delivered quantities (you will manually - set the quantities to invoice on the sale order) - -.. image:: media/reinvoice02.png - :align: center - -Create a sale order -------------------- - -Now that your product is correctly set up, you can create a sale order -for that product (from the menu :menuselection:`Sales --> Sales Orders`) -with the ordered quantities set to 0. -Click on **Confirm the Sale** to create the sale -order. You will be able then to manually change the delivered quantities -on the sale order to reinvoice the copies to your customer. - -.. image:: media/reinvoice03.png - :align: center - -Invoice expense to your client ------------------------------- - -At the end of the month, you have printed ``1000`` copies on behalf of your -client and you want to re-invoice them. From the related sale order, -click on **Delivered Quantities**, manually enter the correct amount of -copies and click on **Save**. Your order line will turn blue, meaning that -it is ready to be invoiced. Click on **Create invoice**. - -.. note:: - The total amount on your sale order will be of 0 as it is computed on - the ordered quantities. It is your invoice which will compute the - correct amount due by your customer. - -The invoice generated is in draft, so you can always control the -quantities and change the amount if needed. You will notice that the -amount to be invoiced is based here on the delivered quantities. - -.. image:: media/reinvoice04.png - :align: center - -Click on validate to issue the payment to your customer. - -Use case 2: Invoice expenses via the expense module -=================================================== - -To illustrate this case, let's imagine that your company sells some -consultancy service to your customer ``Agrolait`` and both parties agreed -that the distance covered by your consultant will be re-invoiced at -cost. - -Configuration -------------- - -Here, you will need to install two more modules: - -- Expense Tracker - -- Accounting, where you will need to activate the analytic accounting - from the settings - -.. image:: media/reinvoice05.png - :align: center - -Create a product to be expensed -------------------------------- - -You will now need to create a product called ``Kilometers``. - -From your **Sales** module, go to :menuselection:`Sales --> Products` -and create a product as follows: - -- Product can be expensed - -- Product type: Service - -- Invoicing policy: invoice based on time and material - -- Expense invoicing policy: At cost - -- Track service: manually set quantities on order - -.. image:: media/reinvoice06.png - :align: center - -Create a sales order --------------------- - -Still from the Sales module, go to :menuselection:`Sales --> Sales Orders` -and add your product **Consultancy** on the order line. - -.. tip:: - If your product doesn't exist yet, you can configure it on the fly - from the SO. Just type the name on the **product** field and click - on **Create and edit** to configure it. - -Depending on your product configuration, an **Analytic Account** may have -been generated automatically. If not, you can easily create one in order -to link your expenses to the sale order. Do not forget to confirm the -sale order. - -.. image:: media/reinvoice07.png - :align: center - -.. note:: - Refer to the documentation :doc:`../../../accounting/others/analytic/usage` - to learn more about that concept. - -Create expense and link it to SO --------------------------------- - -Let's assume that your consultant covered ``1.000km`` in October as part -of his consultancy project. We will create a expense for it and link -it to the related sales order thanks to the analytic account. - -Go to the **Expenses** module and click on **Create**. Record your expense -as follows: - -- **Expense description**: Kilometers October 2015 - -- **Product**: Kilometers - -- **Quantity**: 1.000 - -- **Analytic account**: SO0019 - Agrolait - -.. image:: media/reinvoice08.png - :align: center - -Click on **Submit to manager**. As soon as the expense has been validated -and posted to the journal entries, a new line corresponding to the -expense will automatically be generated on the sale order. - -Invoice expense to your client ------------------------------- - -You can now invoice the invoiceable lines to your customer. - -.. image:: media/reinvoice09.png - :align: center - -.. seealso:: - * :doc:`support` - * :doc:`milestones` diff --git a/sales/invoicing/services/support.rst b/sales/invoicing/services/support.rst deleted file mode 100644 index 57b968cb0..000000000 --- a/sales/invoicing/services/support.rst +++ /dev/null @@ -1,156 +0,0 @@ -================================================== -How to invoice a support contract (prepaid hours)? -================================================== - -There are different kinds of service sales: prepaid volume of hours/days -(e.g. support contract), billing based on time and material (e.g. -billing consulting hours) and a fixed price contract (e.g. a project). - -In this section, we will have a look at how to sell and keep track of a -pre-paid support contract. - -As an example, you may sell a pack of ``50 Hours`` of support at ``$25,000``. -The price is fixed and charged initially. But you want to keep track of -the support service you did for the customer. - -Configuration -============= - -Install the Sales and Timesheet applications --------------------------------------------- - -In order to sell services, you need to install the **Sales** application, -from the **Apps** icon. Install also the **Timesheets** application if you want -to track support services you worked on every contract. - -.. image:: media/support01.png - :align: center - -.. image:: media/support02.png - :align: center - -Create Products ---------------- - -By default, products are sold by number of units. In order to sell -services ``per hour``, you must allow using multiple unit of measures. -From the **Sales** application, go to the menu -:menuselection:`Configuration --> Settings`. -From this screen, activate the multiple **Unit of Measures** option. - -.. image:: media/support03.png - :align: center - -In order to sell a support contract, you must create a product for every -support contract you sell. From the **Sales** application, use the menu -:menuselection:`Sales --> Products`, create a new product with the following setup: - -- **Name**: Technical Support - -- **Product Type**: Service - -- **Unit of Measure**: Hours - -- **Invoicing Policy**: Ordered Quantities, since the service is - prepaid, we will invoice the service based on what has been - ordered, not based on delivered quantities. - -- **Track Service**: Timesheet on contracts. An analytic account will - automatically be created for every order containing this service - so that you can track hours in the related account. - -.. image:: media/support04.png - :align: center - -.. tip:: - There are different ways to track the service related to a sales - order or product sold. With the above configuration, you can only - sell one support contract per order. If your customer orders - several service contracts on timesheet, you will have to split - the quotation into several orders. - -Note that you can sell in different unit of measure than hours, example: -days, pack of 40h, etc. To do that, just create a new unit of measure in -the **Unit of Measure** category and set a conversion ratio compared to -**Hours** (example: ``1 day = 8 hours``). - -Managing support contract -========================= - -Quotations and Sales Orders ---------------------------- - -Once the product is created, you can create a quotation or a sales order -with the related product. Once the quotation is confirmed and -transformed into a sales order, your users will be able to record -services related to this support contract using the timesheet -application. - -.. image:: media/support05.png - :align: center - -Timesheets ----------- - -To track the service you do on a specific contract, you should use the -timesheet application. An analytic account related to the sale order has -been automatically created (``SO009 - Agrolait`` on the screenshot here -above), so you can start tracking services as soon as it has been sold. - -.. image:: media/support06.png - :align: center - -Control delivered support on the sales order --------------------------------------------- - -From the **Sales** application, use the menu -:menuselection:`Sales --> Sales Orders` to control -the progress of every order. On the sales order line related to the -support contract, you should see the **Delivered Quantities** that are -updated automatically, based on the number of hours in the timesheet. - -.. image:: media/support07.png - :align: center - -Upselling and renewal ---------------------- - -If the number of hours you performed on the support contract is bigger -or equal to the number of hours the customer purchased, you are -suggested to sell an extra contract to the customer since they -used all their quota of service. -Periodically (ideally once every two weeks), you should check the sales -order that are in such a case. -To do so, go to :menuselection:`Sales --> Invoicing --> Orders to Upsell`. - -.. tip:: - If you use Odoo CRM, a good practice is to create an opportunity for - every sale order in upselling invoice status so that you easily track - your upselling effort. - -If you sell an extra support contract, you can either add a new line on -the existing sales order (thus, you continue to timesheet on the same -order) or create a new order (thus, people will timesheet their hours on -the new contract). To unmark the sales order as **Upselling**, you can set -the sales order as done and it will disappear from your upselling list. - -Special Configuration -===================== - -When creating the product form, you may set a different approach to -track the service: - -- **Create task and track hours**: in this mode, a task is created for - every sales order line. Then when you do the timesheet, you don't - record hours on a sales order/contract, but you record hours on a - task (that represents the contract). The advantage of this - solution is that it allows to sell several service contracts - within the same sales order. - -- **Manually**: you can use this mode if you don't record timesheets in - Odoo. The number of hours you worked on a specific contract can - be recorded manually on the sales order line directly, in the - delivered quantity field. - -.. seealso:: - * :doc:`../../../inventory/settings/products/uom` diff --git a/sales/invoicing/subscriptions.rst b/sales/invoicing/subscriptions.rst new file mode 100644 index 000000000..2ac5292ed --- /dev/null +++ b/sales/invoicing/subscriptions.rst @@ -0,0 +1,19 @@ +================== +Sell subscriptions +================== + +Selling subscription products will give you predictable revenue, making +planning ahead much easier. + +Make a subscription from a sales order +====================================== + +From the sales app, create a quotation to the desired customer, and +select the subscription product your previously created. + +When you confirm the sale the subscription will be created +automatically. You will see a direct link from the sales order to the +Subscription in the upper right corner. + +.. image:: media/subscriptions01.png + :align: center diff --git a/sales/invoicing/time_materials.rst b/sales/invoicing/time_materials.rst new file mode 100644 index 000000000..0c38a04c9 --- /dev/null +++ b/sales/invoicing/time_materials.rst @@ -0,0 +1,136 @@ +=================================== +Invoice based on time and materials +=================================== + +Time and Materials is generally used in projects in which it is not +possible to accurately estimate the size of the project, or when it is +expected that the project requirements would most likely change. + +This is opposed to a fixed-price contract in which the owner agrees to +pay the contractor a lump sum for the fulfillment of the contract no +matter what the contractors pay their employees, sub-contractors, and +suppliers. + +For this documentation I will use the example of a consultant, you will +need to invoice their time, their various expenses (transport, +lodging, ...) and purchases. + +Invoice time configuration +========================== + +To keep track of progress in the project, you will need the *Project* +app. Go to :menuselection:`Apps --> Project` to install it. + +In *Project* you will use timesheets, to do so go to +:menuselection:`Project --> Configuration --> Settings` and activate the +*Timesheets* feature. + +.. image:: media/time_materials01.png + :align: center + +Invoice your time spent +======================= + +From a product page set as a service, you will find two options under +the invoicing tab, select both *Timesheets on tasks* and *Create a +task in a new project*. + +.. image:: media/time_materials02.png + :align: center + +You could also add the task to an existing project. + +Once confirming a sales order, you will now see two new buttons, one for +the project overview and one for the current task. + +.. image:: media/time_materials03.png + :align: center + +You will directly be in the task if you click on it, you can also access +it from the *Project* app. + +Under timesheets, you can assign who works on it. You can or they can +add how many hours they worked on the project so far. + +.. image:: media/time_materials04.png + :align: center + +From the sales order, you can then invoice those hours. + +.. image:: media/time_materials05.png + :align: center + +Expenses configuration +====================== + +To track & invoice expenses, you will need the expenses app. Go to +:menuselection:`Apps --> Expenses` to install it. + +You should also activate the analytic accounts feature to link expenses +to the sales order, to do so, go to :menuselection:`Invoicing --> +Configuration --> Settings` and activate *Analytic Accounting*. + +Add expenses to your sales order +================================ + +From the expense app, you or your consultant can create a new one, e.g. +the hotel for the first week on the site of your customer. + +You can then enter a relevant description and select an existing product +or create a new one from right there. + +.. image:: media/time_materials06.png + :align: center + +Here, we are creating a *Hotel* product: + +.. image:: media/time_materials07.png + :align: center + +under the invoicing tab, select *Delivered quantities* and either *At +cost* or *Sales price* as well depending if you want to invoice the +cost of your expense or a previously agreed on sales price. + +.. image:: media/time_materials08.png + :align: center + +To modify or create more products go to :menuselection:`Expenses --> +Configuration --> Expense products`. + +Back on the expense, add the original sale order in the expense to +submit. + +.. image:: media/time_materials09.png + :align: center + +It can then be submitted to the manager, approved and finally posted. + +.. image:: media/time_materials10.png + :align: center + +.. image:: media/time_materials11.png + :align: center + +.. image:: media/time_materials12.png + :align: center + +It will then be in the sales order and ready to be invoiced. + +Invoice purchases +================= + +The last thing you might need to add to the sale order is purchases made +for it. + +You will need the *Purchase Analytics* feature, to activate it, go to +:menuselection:`Invoicing --> Configuration --> Settings` and select +*Purchase Analytics*. + +While making the purchase order don't forget to add the right analytic +account. + +.. image:: media/time_materials08.png + :align: center + +Once the PO is confirmed and received, you can create the vendor bill, +this will automatically add it to the SO where you can invoice it.