activity.models.invoice ======================= .. py:module:: activity.models.invoice Classes ------- .. autoapisummary:: activity.models.invoice.Invoice Functions --------- .. autoapisummary:: activity.models.invoice.sync_invoice_items Module Contents --------------- .. py:function:: sync_invoice_items(items: collections.abc.Iterable[onegov.activity.models.invoice_item.InvoiceItem], capture: bool = True) -> None .. py:class:: Invoice Bases: :py:obj:`onegov.core.orm.Base`, :py:obj:`onegov.core.orm.mixins.TimestampMixin` A grouping of invoice items. .. py:attribute:: __tablename__ :value: 'invoices' .. py:attribute:: id :type: sqlalchemy.Column[uuid.UUID] .. py:attribute:: period_id :type: sqlalchemy.Column[uuid.UUID] .. py:attribute:: period :type: sqlalchemy.orm.relationship[onegov.activity.models.period.Period] .. py:attribute:: user_id :type: sqlalchemy.Column[uuid.UUID] .. py:attribute:: user :type: sqlalchemy.orm.relationship[onegov.user.User] .. py:attribute:: items :type: sqlalchemy.orm.relationship[list[onegov.activity.models.invoice_item.InvoiceItem]] .. py:attribute:: references :type: sqlalchemy.orm.relationship[list[onegov.activity.models.InvoiceReference]] .. py:property:: price :type: onegov.pay.Price .. py:property:: has_donation :type: bool .. py:method:: readable_by_bucket(bucket: str) -> str | None .. py:method:: sync(capture: bool = True) -> None .. py:method:: add(group: str, text: str, unit: decimal.Decimal, quantity: decimal.Decimal, organizer: str = '', attendee_id: uuid.UUID | None = None, flush: bool = True, **kwargs: Any) -> onegov.activity.models.invoice_item.InvoiceItem .. py:method:: discourage_changes() -> bool .. py:method:: disable_changes() -> bool .. py:method:: has_online_payments() -> bool .. py:method:: discourage_changes_for_items(items: collections.abc.Iterable[onegov.activity.models.invoice_item.InvoiceItem]) -> bool .. py:method:: disable_changes_for_items(items: collections.abc.Iterable[onegov.activity.models.invoice_item.InvoiceItem]) -> bool .. py:method:: has_online_payments_for_items(items: collections.abc.Iterable[onegov.activity.models.invoice_item.InvoiceItem]) -> bool .. py:attribute:: paid :type: sqlalchemy.Column[bool] .. py:method:: total_amount() -> decimal.Decimal .. py:method:: outstanding_amount() .. py:method:: paid_amount() -> decimal.Decimal