$ 247.25
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Purchase (purchase)
• Discuss (mail) • Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 1416 |
| Technical Name |
flight_purchase |
| License | OPL-1 |
| Website | https://github.com/smartops-aero/smartops-odoo-flight |
| Versions | 16.0 18.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Purchase (purchase)
• Discuss (mail) • Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 1416 |
| Technical Name |
flight_purchase |
| License | OPL-1 |
| Website | https://github.com/smartops-aero/smartops-odoo-flight |
| Versions | 16.0 18.0 |
Flight Purchase
Seamless purchase order integration for SmartOps Flight Management. Link purchases to flights and aircraft for complete operational cost visibility.
Part of the SmartOps Aviation Suite by Apexive Solutions LLC
Professional purchase management integration for flight operations
Connect Procurement to Operations
Aviation operations involve complex procurement: fuel, handling services, catering, maintenance parts, and more. The Flight Purchase module bridges the gap between procurement and operations, linking every purchase to the flights and aircraft that need them.
Track service costs per flight, analyze vendor performance, and maintain complete visibility of operational expensesâall within your existing Odoo purchase workflows.
The Value Proposition
Stop managing flight costs in spreadsheets. Link purchase orders directly to flights and aircraft for accurate cost allocation, simplified billing, and powerful analytics.
Powerful Integration
Comprehensive Features
Purchase Order Linking
Link purchase orders to flights and aircraft with smart auto-assignment. When you select a flight, the aircraft automatically fillsâstreamlining your purchase workflow.
Service Line Tracking
Track individual services from purchase order lines. See product, quantity, price, supplier, and status for each serviceâall linked to the flight and aerodrome.
Mass Service Collection
Bulk import services from purchase orders with a single action. Select multiple flights and collect all related services automaticallyâno manual data entry.
Flight View Integration
View purchase counts directly on flight records. Click the smart button to see all related purchase orders, filtered and ready for review.
Aircraft View Integration
Track all purchases for an aircraft from the aircraft record. Perfect for maintenance parts, recurring services, and aircraft-specific procurement.
Data Protection
Service lines inherit flight locking. Once a flight is locked, service data is protected from modificationâensuring audit trail integrity.
How It Works
Link Purchases
When creating a purchase order for fuel, handling, catering, or any flight service, simply select the flight. The aircraft automatically populates, creating a complete link between procurement and operations.
Track Services
View all services on the flight's Services tab. Each purchase order line appears as a service line with product details, pricing, supplier, and status. Assign aerodromes to services for location-based tracking.
Collect in Bulk
For multiple flights, use the "Collect Services" action. Select flights, click Actions > Collect Services, and the system automatically imports all related purchase order lines as service linesâsaving time and reducing errors.
Analyze Costs
Use Odoo's reporting tools to analyze flight costs, compare vendor pricing, track spending by aerodrome, and make data-driven decisions about your procurement strategy.
Use Cases
Fuel & Handling Services
Link fuel and handling purchase orders to flights. Track costs per leg, analyze vendor pricing by aerodrome, and optimize your ground service procurement strategy.
Catering & Supplies
Track catering and cabin supply purchases per flight. Calculate per-passenger costs, analyze vendor performance, and ensure consistent service quality across your operation.
Maintenance & Parts
Link maintenance parts purchases to aircraft. When parts are used during a specific flight, link to both aircraft and flight for complete traceability and cost allocation.
Charter Trip Costing
Link all trip expenses to charter flights: fuel, handling, catering, permits, and fees. View total costs, generate accurate invoices, and analyze profitability per trip.
Getting Started
Installation
- Requires SmartOps Flight Management and Odoo Purchase modules
- Install from Odoo Apps menu
- Flight and Aircraft fields appear on purchase orders
- Purchase smart buttons appear on flight and aircraft forms
Quick Start
1. Create Purchase Order: Navigate to Purchase > Purchase Orders > Create
2. Link to Flight: Select flight in the Flight field (aircraft auto-fills)
3. Add Products: Create purchase order lines as usual
4. View Services: Check flight record's Services tab to see linked services
Use the "Collect Services" action on multiple flights to bulk import services from purchase orders. Select flights > Actions > Collect Services.
Ready to Unify Procurement and Operations?
Join aviation operators using Flight Purchase for complete cost visibility. Link purchases to flights and aircraft for accurate allocation, simplified billing, and powerful analytics.
github.com/smartops-aero/smartops-odoo-flight
Developed by Apexive Solutions LLC • License: OPL-1 • Version 18.0.1.0.0
Flight Purchase
Seamless purchase order integration for SmartOps Flight Management.
Overview
The Flight Purchase module bridges Odoo's Purchase Management with SmartOps Flight Management, enabling complete tracking of flight-related procurement. Link purchase orders to flights and aircraft, manage service lines, and maintain full visibility of operational costs.
This premium module is essential for aviation operators who need to track fuel, handling services, catering, maintenance parts, and other flight-related purchases with precision.
Features
Purchase Order Integration
- Flight Linking: Associate purchase orders with specific flights
- Aircraft Linking: Connect purchases to aircraft
- Auto-Assignment: Aircraft auto-populates when flight is selected
- Purchase Tracking: Count and view purchases from flight/aircraft records
- Smart Buttons: Quick access to related purchase orders
Flight Service Management
- Service Lines: Track individual services linked to flights
- Purchase Integration: Connect services to purchase order lines
- Mass Collection: Bulk import services from purchase orders
- Aerodrome Assignment: Link services to specific airports
- Status Tracking: Monitor purchase and invoice status
Data Protection
- Lock Mechanism: Locked flights prevent service modifications
- Audit Trail: Complete history of purchase-flight relationships
- Unique Constraints: Prevent duplicate service entries
- Data Integrity: Related field updates propagate automatically
Workflow Automation
- Auto-Population: Aircraft fills from flight selection
- Service Collection: One-click import of purchase order lines
- Deduplication: Prevents adding duplicate services
- Smart Filtering: Context-aware purchase order views
Models
purchase.order (Extended)
Extension of Odoo's purchase.order model:
New Fields:
- flight_id: Many2one to flight.flight (with tracking)
- aircraft_id: Many2one to flight.aircraft (with tracking)
Methods:
- _onchange_flight_id(): Auto-populates aircraft_id when flight is selected
Behavior:
When a flight is selected on a purchase order, the aircraft is automatically filled from the flight's aircraft_id. Users can override this if purchasing for a different aircraft.
flight.flight (Extended)
Extension of flight.flight model:
New Fields:
- purchase_count: Integer (computed)
- service_line_ids: One2many to flight.service.line
Computed Fields:
- purchase_count: Counts purchase orders where flight_id = current flight
Methods:
- _compute_purchase_count(): Computes number of related purchase orders
- action_view_purchases(): Opens filtered view of related purchases
- action_collect_services(): Mass action to collect services from purchase orders
Action: Collect Services:
Mass action that:
- Finds all purchase orders linked to flight or aircraft
- Gets all purchase order lines from those orders
- Checks for existing service lines to avoid duplicates
- Creates new service lines for unlinked purchase order lines
- Returns notification with count of services added
flight.aircraft (Extended)
Extension of flight.aircraft model:
New Fields:
- purchase_count: Integer (computed)
Methods:
- _compute_purchase_count(): Counts purchase orders for aircraft
- action_view_purchases(): Opens filtered view of aircraft purchases
flight.service.line (New Model)
New model linking purchase order lines to flights:
Fields:
- flight_id: Many2one to flight.flight (required, cascade delete)
- purchase_order_line_id: Many2one to purchase.order.line (required, restrict)
- aerodrome_id: Many2one to flight.aerodrome
- purchase_order_id: Related field from purchase_order_line_id
- supplier_id: Related field from purchase_order_id
- state: Related purchase order state
- invoice_status: Related invoice status
- product_id: Related product from purchase order line
- description: Related description from purchase order line
- quantity: Related product quantity
- price_unit: Related unit price
- price_subtotal: Related subtotal
- currency_id: Related currency
- aerodrome_icao: Related ICAO from aerodrome_id
Inheritance:
- flight.lock.mixin: Locked flights prevent service line modifications
SQL Constraints:
- Unique constraint on (flight_id, purchase_order_line_id) combination
Display Name:
Uses record ID as display name (_rec_name = "id")
Installation
Requirements
- Odoo 16.0
- SmartOps Flight Management module
- Odoo Purchase Management module
Steps
- Install SmartOps Flight Management if not already installed
- Install Flight Purchase from Odoo Apps menu
- Purchase order forms will show Flight and Aircraft fields
- Flight and Aircraft forms will show purchase count smart buttons
- Flight forms will show Services tab
Configuration
No additional configuration required. The module works out of the box with existing flight and purchase order data.
Usage
Linking Purchases to Flights
Creating New Purchase Order:
- Navigate to Purchase > Orders > Purchase Orders
- Click Create
- Select supplier
- Select a Flight (optional)
- Aircraft auto-fills from flight (can be changed)
- Add purchase order lines
- Save and confirm
Editing Existing Purchase Order:
- Open an existing purchase order
- Add or change the Flight field
- Aircraft updates automatically
- Save changes
Viewing from Flight:
- Open a flight record
- Click the Purchases smart button
- See all related purchase orders
- Click Create to add new purchase with pre-filled flight/aircraft
Managing Flight Services
Manual Service Addition:
- Open a flight record
- Navigate to the Services tab
- Click Add a line
- Select a Purchase Order Line
- Assign Aerodrome if applicable
- Save the record
Mass Service Collection:
- Go to Flights > Flights
- Select one or multiple flights (checkbox)
- Click Actions > Collect Services
- System processes all selected flights:
- Finds purchase orders linked to flight or aircraft
- Creates service lines for unlinked purchase order lines
- Skips duplicate service lines
- Shows notification with results
- Review added services in Services tab
Service Line Details:
Service lines automatically display:
- Purchase Order reference
- Supplier
- Product/Service
- Description
- Quantity and Unit Price
- Subtotal and Currency
- Purchase State
- Invoice Status
- Aerodrome (if assigned)
Use Cases
Fuel and Handling Services
Scenario: Charter operator books fuel and handling services for each flight leg.
Workflow:
- Create purchase order for fuel at departure aerodrome
- Link to flight
- Create purchase order for handling at arrival aerodrome
- Link to same flight
- Use "Collect Services" to import all services to flight
- Assign aerodromes to each service line
- Track total flight service costs
Benefits: Complete per-flight service cost tracking, vendor performance analysis, budget vs. actual comparison.
Catering and Supplies
Scenario: Aircraft management company orders catering and cabin supplies per flight.
Workflow:
- Create catering purchase order
- Link to flight
- Add passenger count and menu details in PO lines
- Confirm and receive
- Services automatically available on flight record
- Track catering costs per passenger
Benefits: Optimize catering spend, analyze vendor pricing, ensure service consistency.
Maintenance and Parts
Scenario: Maintenance performed on aircraft; parts purchased and tracked.
Workflow:
- Create purchase order for parts
- Link to aircraft (not specific flight)
- If parts used during specific flight, link to flight also
- View all maintenance purchases from aircraft record
- Track part usage by flight if applicable
Benefits: Complete aircraft maintenance history, cost tracking, regulatory compliance.
Charter Trip Costing
Scenario: Charter operator needs accurate per-trip costs for billing.
Workflow:
- Create flight record for charter trip
- Create purchase orders for all services: fuel, handling, catering, permits
- Link all purchases to the charter flight
- Use smart button to view total purchase costs
- Services tab shows itemized breakdown by aerodrome
- Generate invoice with markup
Benefits: Accurate cost allocation, transparent client billing, profitability analysis.
Best Practices
Purchase Order Management
- Link Early: Associate purchases with flights at creation time
- Use Aircraft: Link aircraft-wide purchases (maintenance) to aircraft only
- Flight-Specific: Link trip-specific purchases (fuel, catering) to both flight and aircraft
- Consistent Vendors: Maintain vendor relationships for pricing leverage
Service Line Organization
- Assign Aerodromes: Always assign aerodrome to services when applicable
- Regular Collection: Run "Collect Services" regularly to keep data current
- Review Services: Periodically review service lines for accuracy
- Lock Flights: Lock completed flights to protect service data
Cost Analysis
- Track Trends: Monitor service costs over time
- Compare Vendors: Analyze pricing across suppliers
- Aerodrome Costs: Compare costs by airport
- Budget Planning: Use historical data for accurate budgeting
Data Integrity
- Locked Flights: Respect the lock mechanism—don't try to modify locked services
- Duplicate Prevention: Review existing services before manual additions
- Related Updates: Changes to PO lines update service lines automatically
- Audit Trails: Use tracking fields to review change history
Technical Information
Dependencies
'depends': [ 'base', 'purchase', 'flight', ]
Security
Access rights defined in security/ir.model.access.csv:
- Flight User: Read access to service lines
- Flight Manager: Full CRUD access to service lines
- Purchase User: Can link flights/aircraft to purchase orders
Views
Purchase Order Views:
- Extended form view with flight_id and aircraft_id fields
- Context passes default values when creating from flight
Flight Views:
- Services tab in flight form view (One2many field)
- Purchases smart button with purchase count
- Services tree, form, and search views
Aircraft Views:
- Purchases smart button with purchase count
Menu Structure:
Service lines accessible via flight form Services tab. No separate menu item needed.
Actions
action_view_purchases (flight.flight):
Returns action to view purchase orders filtered by flight_id.
action_view_purchases (flight.aircraft):
Returns action to view purchase orders filtered by aircraft_id.
action_collect_services (flight.flight):
Server action that processes selected flights and creates service lines from purchase orders. Returns notification with results.
Support
- Source Code: https://github.com/smartops-aero/smartops-odoo-flight
- Issue Tracker: https://github.com/smartops-aero/smartops-odoo-flight/issues
- Email Support: support@apexive.com
Author & License
- Author: Apexive Solutions LLC
- License: OPL-1 (Odoo Proprietary License v1.0)
- Version: 16.0.1.0.0
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module