sanmar_sdk.promostandards.invoices

SanMar’s PromoStandards Invoice service, version 1.0.0.

Finds invoices by purchase order, by invoice number, by invoice date, or everything invoiced since a point in time. SanMar invoices once a day, after 9 p.m. Pacific, for what shipped that day, and asks that this service be called after 3 p.m. Pacific the next day. SanMar does not implement getVoidedInvoices.

Classes

AccountInfo

The account and address an invoice is billed or sold to.

InvoiceLine

One line of an invoice.

Tax

A tax charged on an invoice.

Invoice

An invoice or credit memo.

InvoiceService

SanMar's PromoStandards Invoice service.

Module Contents

class sanmar_sdk.promostandards.invoices.AccountInfo(/, **data: Any)[source]

Bases: sanmar_sdk.base.Record

The account and address an invoice is billed or sold to.

account_name: str | None = None[source]
account_number: str | None = None[source]
attention_to: str | None = None[source]
address1: str | None = None[source]
address2: str | None = None[source]
address3: str | None = None[source]
city: str | None = None[source]
region: str | None = None[source]

The state.

postal_code: str | None = None[source]
country: str | None = None[source]
email: str | None = None[source]
phone: str | None = None[source]
class sanmar_sdk.promostandards.invoices.InvoiceLine(/, **data: Any)[source]

Bases: sanmar_sdk.base.Record

One line of an invoice.

invoice_quantity: decimal.Decimal = None[source]
uom: str = None[source]
description: str = None[source]
unit_price: decimal.Decimal = None[source]
extended_price: decimal.Decimal = None[source]
line_number: decimal.Decimal | None = None[source]
product_id: str | None = None[source]

The style.

part_id: str | None = None[source]

SanMar’s unique key for the style, color and size.

charge_id: str | None = None[source]
po_line_number: decimal.Decimal | None = None[source]
ordered_quantity: decimal.Decimal | None = None[source]
back_ordered_quantity: decimal.Decimal | None = None[source]
discount_amount: decimal.Decimal | None = None[source]
distributor_product_id: str | None = None[source]
distributor_part_id: str | None = None[source]
class sanmar_sdk.promostandards.invoices.Tax(/, **data: Any)[source]

Bases: sanmar_sdk.base.Record

A tax charged on an invoice.

tax_type: str = None[source]
jurisdiction: str = None[source]
amount: decimal.Decimal = None[source]
class sanmar_sdk.promostandards.invoices.Invoice(/, **data: Any)[source]

Bases: sanmar_sdk.base.Record

An invoice or credit memo.

invoice_number: str = None[source]
invoice_type: str = None[source]

Whether this is an invoice or a credit memo, as SanMar spells it.

invoice_date: datetime.date = None[source]
payment_due_date: datetime.date = None[source]
currency: str[source]
sales_amount: decimal.Decimal = None[source]
shipping_amount: decimal.Decimal = None[source]
handling_amount: decimal.Decimal = None[source]
tax_amount: decimal.Decimal = None[source]
invoice_amount: decimal.Decimal = None[source]
advance_payment_amount: decimal.Decimal = None[source]
amount_due: decimal.Decimal = None[source]
po_number: str | None = None[source]
po_version: str | None = None[source]
bill_to: AccountInfo | None = None[source]
sold_to: AccountInfo | None = None[source]
comments: str | None = None[source]
payment_terms: str | None = None[source]
fob: str | None = None[source]
document_url: str | None = None[source]
payment_url: str | None = None[source]
lines: list[InvoiceLine] = None[source]
sales_order_numbers: list[str] = None[source]
taxes: list[Tax] = None[source]
class sanmar_sdk.promostandards.invoices.InvoiceService(soap: SoapClient, credentials: Credentials)[source]

Bases: sanmar_sdk.promostandards._common.PromoStandardsService

SanMar’s PromoStandards Invoice service.

endpoint[source]
version = '1.0.0'[source]

The PromoStandards version SanMar implements, sent as wsVersion.

by_purchase_order(po_number: str) → list[Invoice][source]

Find the invoices for a purchase order.

get(invoice_number: str) → Invoice[source]

Find one invoice by its number.

Raises:

NotFoundError – If SanMar has no such invoice.

by_date(invoice_date: datetime.date) → list[Invoice][source]

Find every invoice dated a given day.

available_since(since: datetime.datetime) → list[Invoice][source]

Find every invoice issued after a point in time.