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

class endi.models.supply.internalpayment.InternalSupplierInvoiceSupplierPayment(**kwargs)

Bases : BaseSupplierInvoicePayment

amount
created_at
date
exported
exports
id
internal = True
property mode
supplier_invoice
supplier_invoice_id
type_
updated_at
user
user_id

endi.models.supply.internalsupplier_invoice module

class endi.models.supply.internalsupplier_invoice.InternalSupplierInvoice(**kwargs)

Bases : SupplierInvoice

cae_percentage
check_supplier_resulted(force_resulted: bool)
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, object

Common 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 : object

Champs 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, BaseSupplierInvoicePayment

Payment 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, BaseSupplierInvoicePayment

Payment 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, Node

A 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_supplier_resulted(force_resulted: bool)
check_validation_status_allowed(status, request, **kw)
check_worker_resulted(force_resulted: bool)
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()
property global_status: str

Combine .paid_status and .status

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

Module contents