Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Sales
  3. Sale Order Invoice from XLS v 19.0
  4. Sales Conditions FAQ

Sale Order Invoice from XLS

by Hozifa Abbas - Freelancer https://hozifa.odoo.com/
Odoo

$ 79.96

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Inventory (stock)
• Invoicing (account)
• Sales (sale_management)
• Discuss (mail)
Lines of code 238
Technical Name sale_order_invoice_from_xls
LicenseLGPL-3
Websitehttps://hozifa.odoo.com/
Versions 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Inventory (stock)
• Invoicing (account)
• Sales (sale_management)
• Discuss (mail)
Lines of code 238
Technical Name sale_order_invoice_from_xls
LicenseLGPL-3
Websitehttps://hozifa.odoo.com/
Versions 18.0 19.0

Sale Order Invoice from XLS

Complete Setup & User Guide | Odoo 18 Enterprise Edition

Version 18.0 | Author: Hozifa Abbas

🎯 Module Overview

The Sale Order Invoice from XLS module is a powerful tool designed to streamline the invoicing process by allowing users to upload XLS files containing sales order information. The module automatically processes the file and creates invoices for the specified sales orders with the corresponding product quantities.

💡 Key Benefit: This module eliminates manual invoice creation, saving time and reducing errors when processing bulk invoicing operations.

✨ Key Features

  • Upload XLS files containing sales orders, products, and quantities
  • Automatically create invoices for multiple sale orders in bulk
  • Modify delivered and invoiced quantities in sales orders
  • Support for sales orders containing multiple products
  • Set invoice dates retroactively when uploading the file
  • Automatically update sales order status to "Fully Invoiced"
  • Smart filtering: Automatically skips canceled deliveries
  • Intelligent processing: Skips already invoiced sales orders
  • Comprehensive error handling and validation
  • User-friendly wizard interface

⚙️ Installation Guide

Prerequisites

  • Odoo 18 Enterprise Edition installed and running
  • Sales Management module (sale_management) installed
  • Accounting module (account) installed
  • Appropriate user permissions for Sales and Invoicing

Installation Steps

1 Download the Module

Obtain the module files and ensure you have the complete folder structure.

2 Copy to Addons Directory

Copy the module folder to your Odoo addons directory:

/path/to/odoo/addons/sale_order_invoice_from_xls/
3 Update Apps List

In Odoo, navigate to Apps menu, click the three dots in the top right, and select Update Apps List.

4 Install the Module

Search for "Sale Order Invoice from XLS" in the Apps menu and click Install.

5 Verify Installation

Once installed, the module will add a new menu item in the Sales module.

✓ Installation Complete! The module is now ready to use.

📋 XLS File Format Specification

The XLS file must contain specific columns in the correct order. Below is the required format:

Required Columns

Column Name Data Type Description Example
Sale Order Text The sale order reference number SO001, SO002
Product Text Product name or internal reference Laptop, PROD-001
Quantity Number Quantity to invoice 5, 10.5
Invoice Date Date Date for the invoice (optional) 2025-01-15

Sample XLS File Structure

Sale Order Product Quantity Invoice Date
SO001 Disk # pen 3 # 10 2025-01-15
SO002 Chair 5 2025-01-16
SO003 Mouse 2 2025-01-16
⚠️ Important Notes:
  • The column headers must match exactly (case-sensitive)
  • Multiple products for the same sale order should be on separate by ( # )
  • Date format should be YYYY-MM-DD or your Odoo's configured date format
  • Sale Order reference must exist in your Odoo system
  • Product Column must take internal reference for product

📖 User Guide

Step-by-Step Process

1 Prepare Your XLS File

Create an Excel file (.xls or .xlsx) with the required columns: Sale Order, Product, Quantity, and Invoice Date. Ensure all data is accurate and matches your Odoo records.

2 Navigate to Sales Module

Go to Sales → Upload Invoice XLS

3 Open the Upload Wizard

Click on Upload Invoice XLS to open the invoice upload wizard.

4 Upload Your File

Click on the Choose File button and select your prepared XLS file from your computer.

5 Process the File

Click Process or Generate Invoices button. The module will:

  • Validate all sale orders exist and are valid
  • Check product availability and quantities
  • Update delivered quantities if needed
  • Create invoices for each sale order
  • Set the specified invoice dates
  • Update sale order statuses
6 Review Results

After processing, you'll see a summary showing:

  • Number of invoices created successfully
  • Any errors or skipped orders with reasons
  • List of generated invoice numbers
7 Verify Invoices

Navigate to Accounting → Customers → Invoices to review the newly created invoices.

🔧 Business Logic & Validation

Automatic Validations

  • Sale Order Validation: Verifies that the sale order exists and is in a valid state
  • Product Matching: Matches products by internal reference from the XLS file
  • Quantity Verification: Ensures quantities are valid and within acceptable limits
  • Delivery Status Check: Automatically excludes canceled deliveries from processing
  • Invoice Status Check: Skips sale orders that are already fully invoiced
  • Date Validation: Validates invoice dates are in correct format and reasonable

Processing Rules

  • The module updates the "Delivered Quantity" field to match the quantity specified in the XLS file
  • Invoices are created based on the delivered quantities
  • Multiple products in one sale order are all processed and included in a single invoice
  • Invoice dates can be set retroactively to match your records
  • Sale orders are marked as "Fully Invoiced" after successful invoice creation
  • The module respects Odoo's standard invoicing workflow and policies
💡 Pro Tip: Always test with a small sample file first to ensure your data format is correct before processing large batches.

🔍 Troubleshooting

Common Issues & Solutions

❌ Error: "Sale Order Not Found"

Solution: Verify that the sale order reference in your XLS file exactly matches the sale order number in Odoo (including any prefixes like "SO").

❌ Error: "Product Not Found"

Solution: Check that the product name or internal reference in your XLS file matches exactly with the product in Odoo. Product names are case-sensitive.

❌ Error: "Invalid Quantity"

Solution: Ensure quantities are positive numbers. Check for any text or special characters in the quantity column.

❌ Error: "Sale Order Already Invoiced"

Solution: This is intentional behavior. The module skips already invoiced orders to prevent duplicate invoices. If you need to create additional invoices, do so manually or adjust the sale order first.

❌ Error: "Invalid Date Format"

Solution: Use the date format YYYY-MM-DD (e.g., 2025-01-15) or configure your Excel to match Odoo's date format settings.

❌ No Invoices Created

Solution: Check the error log or wizard message for specific reasons. Common causes include incorrect file format, missing required columns, or permission issues.

Best Practices

  • Always keep a backup of your XLS file before processing
  • Test with a small sample (2-3 orders) before bulk processing
  • Verify sale orders are in "Sales Order" status before processing
  • Ensure you have proper user permissions for both Sales and Accounting modules
  • Review generated invoices immediately after processing
  • Keep your XLS file format consistent across all uploads
  • Document any custom modifications to the standard process

💻 Technical Information

Module Structure

sale_order_invoice_from_xls/ ├── __init__.py ├── __manifest__.py ├── security/ │ └── ir.model.access.csv ├── wizard/ │ ├── __init__.py │ ├── invoice_upload_wizard.py │ └── invoice_upload_wizard_views.xml └── static/ └── description/ └── icon.png

Dependencies

  • sale_management: Core sales functionality
  • account: Invoicing and accounting features

Module Specifications

Module Name Sale Order Invoice from XLS
Version 18.0
Category Sales
License LGPL-3
Author Hozifa Abbas - Freelancer
Website https://hozifa.odoo.com/
Price $79.00 USD

🔒 Security & Permissions

Required User Permissions

  • Sales: User must have access to Sales Orders (read and write)
  • Invoicing: User must have permission to create and manage invoices
  • Products: User should have read access to product catalog

Access Control

The module uses Odoo's standard security framework with access rights defined in ir.model.access.csv. Administrators can customize these permissions through the Settings menu.

⚠️ Security Note: Only grant access to this module to trusted users, as it can modify financial records and create invoices in bulk.

❓ Frequently Asked Questions

Q: Can I invoice partial quantities?

A: Yes, you can specify any quantity in the XLS file. The module will update the delivered quantity and invoice accordingly.

Q: What happens if I upload the same file twice?

A: The module will skip already invoiced orders automatically. However, if orders were only partially invoiced, it may create additional invoices.

Q: Can I use this for multiple companies?

A: Yes, the module respects Odoo's multi-company setup. Ensure you're in the correct company context before processing.

Q: Does this work with different currencies?

A: Yes, the module uses the currency configured in the sale order and customer settings.

Q: Can I customize the XLS file format?

A: The module requires specific columns, but you can modify the source code to add additional fields or change validation logic.

Q: How many records can I process at once?

A: There's no hard limit, but processing very large files (1000+ records) may take time. Monitor server resources for optimal performance.

📞 Support & Contact

If you need assistance with the module or have questions not covered in this guide:

📧 Author Contact

Hozifa Abbas - Freelancer
Website: https://hozifa.odoo.com/

🐛 Bug Reports

If you encounter any bugs or issues, please provide:

  • Odoo version and module version
  • Steps to reproduce the issue
  • Error messages or screenshots
  • Sample XLS file (with sensitive data removed)
💡 Feature Requests

We welcome suggestions for improvements! Contact the author with your ideas for future enhancements.

📝 Version History

Version 18.0
  • Initial release for Odoo 18 Enterprise Edition
  • Support for bulk invoice creation from XLS files
  • Automatic quantity updates and validation
  • Retroactive invoice dating capability
  • Smart filtering for canceled and invoiced orders
  • Multi-product sale order support

Sale Order Invoice from XLS

Module for Odoo 18 Enterprise Edition

Developed by Hozifa Abbas

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with