39 lines
1.9 KiB
Python
39 lines
1.9 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Copyright 2026 Nexa Systems Inc.
|
|
# License OPL-1 (Odoo Proprietary License v1.0)
|
|
# Part of the Fusion Plating product family.
|
|
|
|
from odoo import api, fields, models
|
|
|
|
|
|
class SaleOrder(models.Model):
|
|
_inherit = 'sale.order'
|
|
|
|
x_fc_configurator_id = fields.Many2one('fp.quote.configurator', string='Configurator', copy=False)
|
|
x_fc_part_catalog_id = fields.Many2one('fp.part.catalog', string='Part')
|
|
x_fc_coating_config_id = fields.Many2one('fp.coating.config', string='Coating Configuration')
|
|
x_fc_po_number = fields.Char(string='Customer PO #', tracking=True)
|
|
x_fc_po_attachment_id = fields.Many2one('ir.attachment', string='PO Document')
|
|
x_fc_po_received = fields.Boolean(string='PO Received', tracking=True)
|
|
x_fc_po_override = fields.Boolean(string='PO Override',
|
|
help='Manager override — proceed without formal PO (handshake deal).')
|
|
x_fc_po_override_reason = fields.Text(string='Override Reason')
|
|
x_fc_invoice_strategy = fields.Selection(
|
|
[('deposit', 'Deposit'), ('progress', 'Progress Billing'),
|
|
('net_terms', 'Net Terms'), ('cod_prepay', 'COD / Prepay')],
|
|
string='Invoice Strategy', tracking=True,
|
|
)
|
|
x_fc_deposit_percent = fields.Float(string='Deposit %',
|
|
help='Deposit percentage if strategy is Deposit.')
|
|
x_fc_rush_order = fields.Boolean(string='Rush Order', tracking=True)
|
|
x_fc_delivery_method = fields.Selection(
|
|
[('local_delivery', 'Local Delivery'), ('shipping_partner', 'Shipping Partner'),
|
|
('customer_pickup', 'Customer Pickup')],
|
|
string='Delivery Method', tracking=True,
|
|
)
|
|
x_fc_receiving_status = fields.Selection(
|
|
[('not_received', 'Not Received'), ('partial', 'Partial'),
|
|
('received', 'Received'), ('inspected', 'Inspected')],
|
|
string='Receiving Status', default='not_received', tracking=True,
|
|
)
|