Yannick Tivisse 54e469c41d [MERGE] payment,website_sale: Ease payment setup & flow of ecommerce
Purpose
=======

Ease payment setup & flow of ecommerce

- In Odoo, we have 3 ways to sell:
    - sales -> invoice is needed when you issue quotations
    - eCommerce -> invoice is mostly for B2B but is part of the flow in any case
    - PoS -> invoice is mostly for B2B. It's an option
-> make invoicing an option in ecommerce (still working but invisible)

- Config of payment acquirers is tough to understand: remove order confirmation
    - the invoicing process depends on the company, not on the payment acquirer -> simple invoicing option in ecommerce settings
    - capture manually: only for authorize.net! Somehow it shouldn't be visible for other acquirers

- terms are confusing
    - payment method: payment method is something else in accounting payments.  -> rename to payment acquirers
    - transaction: the difference with payments is not obvious -> rename to payment request

Specification
=============

- New module to add invoicing fields, buttons and menus: account_invoicing -> hide invoicing stuff when starting with eCommerce (not Sales app)
    - new setting in website:
    - keep behavior of current setting
    - if automatic generation of invoice is checked (default value), an invoice must be generated, validated and reconciled when the order is confirmed
    - If "Invoice what is delivered (manual)", users will create the invoice manually from the order.
    - tooltip: Choose the automatic mode if you use to issue an invoice whenever an order is placed. The manual mode allows you to invoice based on what is really delivered. That way you can invoice in several steps, etc. The mode selected here applies to any new product created but not to products already existing. If you want to invoice delivered quantities, you must update the invoicing policy of those products.

- New primary button "Mark as Paid" on SO if status = quotation sent and payment acquirer provider = wire transfer or manual config
    - when you press "Mark as Paid" -> mark payment.transaction as done.

- easy way to cancel payment -> when clicking Cancel Order button: reset the transaction to Pending, break the reconciliation receivable (=invoice) / payment, cancel the payment with an opposite entry. That way everthing comes back to initial state.

- when a payment.transaction is 'authorized' or 'done' -> confirm the SO
- when the transaction is 'done' -> register also a payment in the payment journal set on the payment acquirer (mandatory field, see next item).
    - must work for any payment acquirer, even if provider = wire transfer or manual configuration

- restructure options of payment acquirers:
    - replace Order Confirmation by:
        - Payment Journal
            - existing m2o (journal_id), make mandatory, only show account.journal whose type = bank + context when you create a journal from the field, default value = Bank, display only if account_invoicing is installed
            - tooltip: Payments will be registered into this journal. If you get paid straight on your bank account, select your bank account. If you get paid in batch for several transactions, create a specific payment journal for this payment acquirer to easily manage the bank reconciliation. You hold the amount in a temporary transfer account of your books (created automatically when you create the payment journal). Then when you get paid on your bank account by the payment acquirer, you reconcile the bank statement line with this temporary transfer account. Use reconciliation templates to do it in one-click.
    - Capture Amount Manually   [  ]
        - only visible if acquirer type = Authorize.net
        - tooltip: Capture the amount from Odoo, when the delivery is completed.
        - must be compatible with "Create Invoice Automatically". -> The invoice must be created when the payment transaction is "done"
    - Specific Countries  [  ]
        - if checked show the country field just below
        - tooltip checkbox: Make this payment acquirer available for customers of specific countries.
        - tooltip Countries: If you leave it empty, the payment acquirer will be available for all the countries.
    - Add Extra Fees       [  ]     move up the fees fields

- Relabelling:
    - Payment Methods -> rename to Payment Acquirers (menu items, views, etc.)
        - real payment methods already show up in the Register Payment modal of invoices.
    -   Transactions -> Payment Requests
        - "Transaction" is too close to "Payment". People think it's the same. With payment request, it makes think about a process: payment request -> payment

- Add a "Payment Requests" stat button to SO form to see all the payment attempts + show the status in this list view.
    - if only one payment request, display it in form view
    - + remove payment method + transaction fields below the SO total

Additional remarks:
- mark as paid button only when you can do it
- mark as paid should confirm the order (+ hide Confirm button)
- invoicing settings: faut un peu changer le truc pour séparer la génération automatique de la facture du mode de facturation des produits
- hide radio options when Invoicing option is not checked
- to hide if account_invoicing is not installed:
    - invoicing options in product form
    - SO invoicing status in list view
    - invoicing status in SO form
    - invoice link once order paid + invoice notification in the SO chatter + hide mark as paid button if already done
    - create invoice button in SO
    - orders to invoice in website dashboard
    - in automatic invoicing > mark order as paid > cancel order > reset to quotation -> no way to record the payment again
    show MARK AS PAID in draft quotation status IF payment transaction is set ?
2017-06-02 16:07:36 +02:00
2017-06-01 11:51:24 +02:00
2015-09-08 15:45:09 +02:00
2015-09-08 17:58:38 +02:00

Build Status Tech Doc Help Nightly Builds

Odoo

Odoo is a suite of web based open source business apps.

The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, Purchase Management, ...

Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.

Getting started with Odoo

For a standard installation please follow the Setup instructions from the documentation.

If you are a developer you may type the following command at your terminal:

wget -O- https://raw.githubusercontent.com/odoo/odoo/master/setup/setup_dev.py | python

Then follow the developer tutorials

For Odoo employees

To add the odoo-dev remote use this command:

$ ./setup/setup_dev.py setup_git_dev

To fetch odoo merge pull requests refs use this command:

$ ./setup/setup_dev.py setup_git_review
S
Description
No description provided
Readme LGPL-3.0
3.4 GiB
Languages
Python 49.6%
JavaScript 47.8%
SCSS 2%
CSS 0.3%
HTML 0.2%