Read and write supplier bills (accounts payable / purchase invoices).
Bills represent money owed by your company to a supplier.
Example
# List unpaid bills
{:ok, page} = Codat.Accounting.Bills.list(client, "company-id",
query: "status=Open",
order_by: "-dueDate"
)
# Create a bill
{:ok, push_op} = Codat.Accounting.Bills.create(client, company_id, conn_id, %{
issueDate: "2024-01-01",
dueDate: "2024-01-31",
supplierRef: %{id: "supplier-id"},
lineItems: [%{description: "Office supplies", quantity: 1, unitAmount: 500}]
})
Summary
Functions
Creates a new bills (async). Returns a push operation.
Deletes a bills by ID (async).
Fetches all bills across all pages concurrently.
Fetches a single bills by ID.
Lists attachments for a bill.
Returns the push model for creating bills.
Returns the push model for updating a bills record.
Returns a paginated list of bills.
Returns a lazy Stream of all results.
Updates an existing bills (async).
Functions
@spec create( Codat.Client.t() | String.t(), String.t(), String.t() | map(), map() | keyword() ) :: {:ok, map()} | {:error, Codat.Error.t()}
Creates a new bills (async). Returns a push operation.
@spec delete(Codat.Client.t() | String.t(), String.t(), String.t() | keyword()) :: {:ok, nil} | {:error, Codat.Error.t()}
Deletes a bills by ID (async).
@spec fetch_all(Codat.Client.t() | String.t(), String.t() | keyword(), keyword()) :: {:ok, [map()]} | {:error, Codat.Error.t()}
Fetches all bills across all pages concurrently.
@spec get(Codat.Client.t() | String.t(), String.t(), String.t() | keyword()) :: {:ok, map()} | {:error, Codat.Error.t()}
Fetches a single bills by ID.
@spec get_attachments( Codat.Client.t() | String.t(), String.t(), String.t() | keyword() ) :: {:ok, map()} | {:error, Codat.Error.t()}
Lists attachments for a bill.
@spec get_create_model(Codat.Client.t() | String.t(), String.t(), keyword()) :: {:ok, map()} | {:error, Codat.Error.t()}
Returns the push model for creating bills.
@spec get_update_model( Codat.Client.t() | String.t(), String.t(), String.t() | keyword(), keyword() ) :: {:ok, map()} | {:error, Codat.Error.t()}
Returns the push model for updating a bills record.
@spec list(Codat.Client.t() | String.t(), String.t() | keyword(), keyword()) :: {:ok, Codat.Pagination.t()} | {:error, Codat.Error.t()}
Returns a paginated list of bills.
@spec stream(Codat.Client.t() | String.t(), String.t() | keyword(), keyword()) :: Enumerable.t()
Returns a lazy Stream of all results.
@spec update( Codat.Client.t() | String.t(), String.t(), String.t(), String.t() | map(), map() | keyword() ) :: {:ok, map()} | {:error, Codat.Error.t()}
Updates an existing bills (async).