Skip to content

Conversation

@meval1006
Copy link
Contributor

Updating the Re-invoice expenses page to include the entire workflow of invoicing an expense.

  • Adding any Expenses-related content from the Reinvoice Expenses to Customers page.
  • Reorganizing the content for better flow.
  • Adding links or references to the relevant Expenses documentation instead.

This 17.0 PR can be FWP up to master.

@meval1006 meval1006 self-assigned this Dec 3, 2025
@meval1006 meval1006 added the 2 label Dec 3, 2025
@robodoo
Copy link
Collaborator

robodoo commented Dec 3, 2025

Pull request status dashboard

@meval1006 meval1006 marked this pull request as ready for review December 5, 2025 18:13
@meval1006 meval1006 requested a review from larm-odoo December 5, 2025 18:13
@C3POdoo C3POdoo requested a review from a team December 5, 2025 18:15
Copy link
Contributor

@larm-odoo larm-odoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work and additional info, @meval1006! The biggest issue is the information added is from a runbot, which does not display the default info. I added a detailed comment in the review below to explain this further, but it's always best to use a bank demo database you create to make sure everything is in fact what the user would see when first working with Odoo. As for all th eother comments- most of them are sugestions, so take what you want and leave what you don't! =) Tage me for another quick look once you've made the changes, and LMK if you need clarification on anything I wrote.

- :guilabel:`Sales price`: The expense category invoices at the sales price set on the expense form.

.. important::

Copy link
Contributor

@larm-odoo larm-odoo Dec 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, this is a very complicated issue - all RUNBOTS fault, and why I never use Runbot except as a preliminary check/double check for changes. So the runbots that we have all have demo data populated- meaning they've overwritten the default and added a ton of other stuff. In the case of Expenses, they redid all the categories, and they are not the default. While this is a good section/Important block to add, the information is not correct. This is why it is always best ot make a blank database for every doc you are doing. For example, when I originally did the Expenses docs, I created a database (in the version I was writing) and added all the relevant apps that I know interact with Expenses: Employees, Incoicing, Sales, Payroll, Accounting, Approvals, and Sign. Then, I go into that database to see what the actual defaults are. It's the only way to verify what is native/default in Odoo. Then, usually when I do that, I'll do ALL the docs for the app, since I made a database for it.

To make a 17.0 demo database, go here:
https://www.odoo.com/trial?hosting=am179a.odoo.com - 17.0 demo

Add all the apps I mentioned above- then you will see that the default categories are:
image


.. important::

By default, the :guilabel:`Customer to Reinvoice` field is enabled for the :guilabel:`[TRANS &
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I recommend making this a 3-section bullet-style list, tpo show the defaukts. Example:

The default expense categories have the following re-invoicing policies:

  • At cost
    -(category)
  • (Category)
  • Sales Price
    -(category)
  • (Category)
  • No enabled:
  • -(category)
  • (Category)

(but prettier- you know what I mean - my formatting here is not correct! =) )

creates a draft invoice for the customer. Click :guilabel:`Confirm` to confirm the invoice, and the
customer is invoiced for the expenses.
a :guilabel:`Down payment (fixed amount)`, and click :guilabel:`Create Draft Invoice`. A customer
invoice draft window displays with the products and expensees in the :guilabel:`Invoice Lines` tab.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
invoice draft window displays with the products and expensees in the :guilabel:`Invoice Lines` tab.
invoice draft window displays the products and expensees in the :guilabel:`Invoice Lines` tab.

invoice draft window displays with the products and expensees in the :guilabel:`Invoice Lines` tab.

.. note::
If the product has not been delivered, then when creating an invoice draft, only the expense is
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If the product has not been delivered, then when creating an invoice draft, only the expense is
When creating an invoice draft, if the product has not been delivered, only the expense is

I am a little confused by this. I rearranged the wording just for clarity - but I still am not siure what is happening. Don't we want to see the expense in the invoice tab?


Click :guilabel:`Send & Print` to email the invoice to the customer. The pop-up window disappears,
and Odoo sends the invoice to the customer. Additionally, a PDF of the invoice is automatically
downloaded for record-keeping and/or printing purposes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
downloaded for record-keeping and/or printing purposes.
downloaded for record-keeping and printing purposes.

We avoid and/or and just go for the 'and' option

Comment on lines +214 to +227
listed in the :guilabel:`Invoice Lines` tab. Creating two invoices for one :abbr:`SO (Sales
Order)` is possible.

Click :guilabel:`Confirm` to change the invoice status from :guilabel:`Draft` to :guilabel:`Posted`.

To email the invoice to the customer, click :guilabel:`Send & Print`. A document layout
configuration pop-up window appears for layout customization.

Click :guilabel:`Save`, and a pop-up window with a preconfigured email message and a PDF invoice in
its body displays. The message can be reviewed and modified, if needed.

Click :guilabel:`Send & Print` to email the invoice to the customer. The pop-up window disappears,
and Odoo sends the invoice to the customer. Additionally, a PDF of the invoice is automatically
downloaded for record-keeping and/or printing purposes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great addition of steps. While this is similar to contect in other docs, it is directly from the workflow for this, so I think this is a good addition and not a "doubling up" of information =)

Comment on lines +232 to +233
On the :guilabel:`Customer Invoice`, click :guilabel:`Register Payment` when the customer pays for
the invoiced expense.`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
On the :guilabel:`Customer Invoice`, click :guilabel:`Register Payment` when the customer pays for
the invoiced expense.`
On the :guilabel:`Customer Invoice`, click :guilabel:`Register Payment` after the customer pays for
the invoice.`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants