endi.models.supply package¶
Subpackages¶
Submodules¶
endi.models.supply.actions module¶
- endi.models.supply.actions.get_internal_supplier_order_state_manager()¶
- endi.models.supply.actions.internalsupplier_invoice_valid_callback(request, supplier_invoice, *args, **kwargs)¶
- endi.models.supply.actions.internalsupplier_order_valid_callback(request, supplier_order, *args, **kwargs)¶
Callback launched after an internal supplier order is validated send an email to the supplier
- endi.models.supply.actions.supplier_invoice_valid_callback(request, supplier_invoice, *args, **kwargs)¶
Called when a supplier invoice is validated
endi.models.supply.internalpayment module¶
endi.models.supply.internalsupplier_invoice module¶
- class endi.models.supply.internalsupplier_invoice.InternalSupplierInvoice(**kwargs)¶
Bases :
SupplierInvoice- cae_percentage¶
- children¶
- company¶
- company_id¶
- created_at¶
- date¶
- exported¶
- exports¶
- file_requirements¶
- files¶
- classmethod from_invoice(invoice, supplier)¶
Create an instance based on the given invoice
- id¶
- internal = True¶
- lines¶
- name¶
- official_number¶
- paid_status¶
- paid_status_comment¶
- paid_status_date¶
- paid_status_history¶
- paid_status_user_id¶
- parent: Any¶
- parent_id¶
- payer¶
- payer_id¶
- payments¶
- remote_invoice_number¶
- property source¶
- source_cancelinvoice¶
- source_invoice¶
- status¶
- status_comment¶
- status_date¶
- status_user¶
- status_user_id¶
- statuses¶
- supplier¶
- supplier_id¶
- supplier_orders¶
- supplier_paid_status¶
- type_¶
- updated_at¶
- validation_state_manager = <endi.models.action_manager.ActionManager object>¶
- validation_status_history¶
- worker_paid_status¶
endi.models.supply.internalsupplier_order module¶
- class endi.models.supply.internalsupplier_order.InternalSupplierOrder(**kwargs)¶
Bases :
SupplierOrder- cae_percentage¶
- children¶
- company¶
- company_id¶
- created_at¶
- file_requirements¶
- files¶
- classmethod from_estimation(estimation, supplier)¶
Create an instance based on the given estimation
- id¶
- internal = True¶
- lines¶
- name¶
- parent: Any¶
- parent_id¶
- source_estimation¶
- status¶
- status_comment¶
- status_date¶
- status_user¶
- status_user_id¶
- statuses¶
- supplier¶
- supplier_id¶
- supplier_invoice¶
- supplier_invoice_id¶
- type_¶
- updated_at¶
- validation_state_manager = <endi.models.action_manager.ActionManager object>¶
- validation_status_history¶
endi.models.supply.mixins module¶
- class endi.models.supply.mixins.LineModelMixin¶
Bases :
DuplicableMixin,objectCommon fields between SupplierOrderLine and SupplierInvoiceLine
- description = Column(None, Text(), table=None, default=ColumnDefault(''))¶
- expense_type = <RelationshipProperty at 0x7fe5a8c3f8c0; no key>¶
- classmethod from_task(task)¶
- ht = Column(None, Integer(), table=None)¶
- tva = Column(None, Integer(), table=None)¶
- type_id = Column(None, Integer(), ForeignKey('expense_type.id'), table=None)¶
endi.models.supply.payment module¶
- class endi.models.supply.payment.BaseSupplierInvoicePayment(**kwargs)¶
Bases :
TimeStampedMixin,Base- amount¶
- created_at¶
- date¶
- exported¶
- exports¶
- get_amount()¶
- id¶
- internal = False¶
- property parent¶
- precision = 2¶
- supplier_invoice¶
- supplier_invoice_id¶
- type_¶
- updated_at¶
- user¶
- user_id¶
- class endi.models.supply.payment.InterBankPaymentMixin¶
Bases :
objectChamps liés aux paiements voyageant d’un compte bancaise à un autre.
(par oppoosition aux paiements internes)
- bank_id = Column(None, Integer(), ForeignKey('bank_account.id'), table=None)¶
- bank_remittance_id = Column(None, String(length=255), table=None)¶
- mode = Column(None, String(length=50), table=None)¶
- class endi.models.supply.payment.SupplierInvoiceSupplierPayment(**kwargs)¶
Bases :
InterBankPaymentMixin,BaseSupplierInvoicePaymentPayment issued from the CAE, to a Supplier
The payment is linked to a SupplierInvoice, and covers the CAE percentage of it.
- amount¶
- appstruct()¶
Transform a SQLAlchemy object into a deform compatible dict usefull to autofill an editform directly from db recovered datas
- bank¶
- bank_id¶
- bank_remittance_id¶
- created_at¶
- date¶
- exported¶
- exports¶
- id¶
- mode¶
- supplier_invoice¶
- supplier_invoice_id¶
- type_¶
- updated_at¶
- user¶
- user_id¶
- class endi.models.supply.payment.SupplierInvoiceUserPayment(**kwargs)¶
Bases :
InterBankPaymentMixin,BaseSupplierInvoicePaymentPayment issued from the CAE, to a user (contractor)
The payment is linked to a SupplierInvoice, and covers the ES part of it.
- amount¶
- appstruct()¶
Transform a SQLAlchemy object into a deform compatible dict usefull to autofill an editform directly from db recovered datas
- bank¶
- bank_id¶
- bank_remittance_id¶
- created_at¶
- date¶
- exported¶
- exports¶
- id¶
- mode¶
- supplier_invoice¶
- supplier_invoice_id¶
- type_¶
- updated_at¶
- user¶
- user_id¶
- waiver¶
- endi.models.supply.payment.start_listening()¶
- endi.models.supply.payment.stop_listening()¶
- endi.models.supply.payment.update_if_waiver(mapper, conection, target)¶
If payment is a waiver payment mode is forced to waiving.
endi.models.supply.supplier_invoice module¶
- class endi.models.supply.supplier_invoice.SupplierInvoice(**kwargs)¶
Bases :
DuplicableMixin,OfficialNumberMixin,SupplierInvoiceCompute,ValidationStatusHolderMixin,PaidStatusHolderMixin,NodeA supplier invoice is linked : - 1..n SupplierOrder (constraint : same supplier and same percentage) - 1..n attachments (can map to multiple invoices form the supplier) - 0..n payments - 0..n lines (But that has little meaning with zero)
- property cae_payments¶
- cae_percentage¶
- check_validation_status_allowed(status, request, **kw)¶
- children¶
- company¶
- company_id¶
- created_at¶
- date¶
- duplicate(factory=None, **kwargs)¶
Duplicate all fields listed in __duplicable_fields__ plus optional ad-hoc values.
- Paramètres:
factory (class) – The new instance class
kwargs – allow to provide ad-hoc values for the attrs of the new instance. They will take precedence over copied values.
- Renvoie:
new instance combining fields copied from self, and ad-hoc args. The instance is not saved.
- exported¶
- exports¶
- file_requirements¶
- files¶
- classmethod filter_by_year(query, year)¶
- get_company()¶
- get_company_id()¶
- get_default_name()¶
- id¶
- import_lines_from_order(supplier_order)¶
Copies all lines from a SupplierOrder
- internal = False¶
- lines¶
- name¶
- official_number¶
- paid_status¶
- paid_status_comment¶
- paid_status_date¶
- paid_status_history¶
- paid_status_user_id¶
- parent: Any¶
- parent_id¶
- payer¶
- payer_id¶
- payments¶
- record_payment(payment, force_resulted=False)¶
Record a payment for the current expense
- remote_invoice_number¶
- set_validation_status(status, request, **kw)¶
- status¶
- status_comment¶
- status_date¶
- status_user¶
- status_user_id¶
- statuses¶
- supplier¶
- supplier_id¶
- property supplier_label¶
- supplier_orders¶
- supplier_paid_status¶
- type_¶
- updated_at¶
- property user_payments¶
- validation_date_column = 'date'¶
- validation_state_manager = <endi.models.action_manager.ActionManager object>¶
- validation_status_history¶
- worker_paid_status¶
- class endi.models.supply.supplier_invoice.SupplierInvoiceLine(**kwargs)¶
Bases :
LineModelMixin,BusinessLinkedModelMixin,Base,SupplierInvoiceLineCompute- business¶
- business_id¶
- customer¶
- customer_id¶
- description¶
- expense_type¶
- ht¶
- id¶
- classmethod linkable(business)¶
- long_label()¶
- parent_model¶
alias de
SupplierInvoice
- project¶
- project_id¶
- classmethod query_linked_to(target: BusinessMetricsMixin)¶
- source_supplier_order_line¶
- source_supplier_order_line_id¶
- supplier_invoice¶
- supplier_invoice_id¶
- classmethod total_expense(query_filters=[], column_name='total_ht', tva_on_margin: Optional[bool] = None) int¶
- tva¶
- type_id¶
- endi.models.supply.supplier_invoice.get_supplier_invoices_years(kw=None)¶
Return a cached query for the years we have invoices configured
- Paramètres:
kw – is here only for API compatibility
endi.models.supply.supplier_order module¶
- class endi.models.supply.supplier_order.SupplierOrder(**kwargs)¶
Bases :
DuplicableMixin,ValidationStatusHolderMixin,SupplierOrderCompute,Node- cae_percentage¶
- check_validation_status_allowed(status, request, **kw)¶
- children¶
- company¶
- company_id¶
- created_at¶
- file_requirements¶
- files¶
- classmethod filter_by_year(query, year)¶
- get_company()¶
- get_company_id()¶
- property global_status¶
- id¶
- import_lines_from_order(supplier_order)¶
Copies all lines from a SupplierOrder
- internal = False¶
- lines¶
- name¶
- parent: Any¶
- parent_id¶
- classmethod query_for_select(valid_only=False, company_id=None, invoiced=None)¶
- set_validation_status(status, request, **kw)¶
- status¶
- status_comment¶
- status_date¶
- status_user¶
- status_user_id¶
- statuses¶
- supplier¶
- supplier_id¶
- supplier_invoice¶
- supplier_invoice_id¶
- type_¶
- updated_at¶
- validation_state_manager = <endi.models.action_manager.ActionManager object>¶
- validation_status_history¶
- class endi.models.supply.supplier_order.SupplierOrderLine(**kwargs)¶
Bases :
LineModelMixin,Base,SupplierOrderLineCompute- description¶
- expense_type¶
- ht¶
- id¶
- supplier_order¶
- supplier_order_id¶
- tva¶
- type_id¶
- endi.models.supply.supplier_order.get_supplier_orders_years(kw=None)¶
Return a cached query for the years we have invoices configured
- Paramètres:
kw – is here only for API compatibility