Accrue.Billing.InvoiceItem (accrue v0.3.0)

Copy Markdown View Source

Ecto schema for the accrue_invoice_items table (D3-15).

Represents a single line on an invoice. Amounts are integer minor units (cents, yen, etc.). Proration items carry proration: true and a period window. Price and subscription item references are stored as string *_ref columns rather than FKs because Stripe may reference objects we haven't projected locally yet.

Summary

Functions

Builds a changeset for creating or updating an InvoiceItem.

Types

t()

@type t() :: %Accrue.Billing.InvoiceItem{
  __meta__: term(),
  amount_minor: term(),
  currency: term(),
  data: term(),
  description: term(),
  id: term(),
  inserted_at: term(),
  invoice: term(),
  invoice_id: term(),
  period_end: term(),
  period_start: term(),
  price_ref: term(),
  proration: term(),
  quantity: term(),
  stripe_id: term(),
  subscription_item_ref: term(),
  updated_at: term()
}

Functions

changeset(invoice_item_or_changeset, attrs \\ %{})

@spec changeset(
  %Accrue.Billing.InvoiceItem{
    __meta__: term(),
    amount_minor: term(),
    currency: term(),
    data: term(),
    description: term(),
    id: term(),
    inserted_at: term(),
    invoice: term(),
    invoice_id: term(),
    period_end: term(),
    period_start: term(),
    price_ref: term(),
    proration: term(),
    quantity: term(),
    stripe_id: term(),
    subscription_item_ref: term(),
    updated_at: term()
  }
  | Ecto.Changeset.t(),
  map()
) :: Ecto.Changeset.t()

Builds a changeset for creating or updating an InvoiceItem.