BexioApiClient.SalesOrderManagement (bexio_api_client v0.2.3)

Bexio API for the sales order management part of the API.

Link to this section Summary

Functions

Accept a quote.

Create an order (id in order will be ignored). Be also aware: whether you need or must not send a document number depends on the settings in Bexio. It cannot be controlled by the API and as such will just send if it exists.

Create a quote (id in order will be ignored). Be also aware: whether you need or must not send a document number depends on the settings in Bexio. It cannot be controlled by the API and as such will just send if it exists.

Decline a quote.

Delete an order.

Delete a quote.

Edit an order.

This action fetches a list of comments.

This action fetches a single default position for a document.

This action fetches a list of all default positions for a document.

This action fetches a single discount position for a document.

This action fetches a list of all discount positions for a document.

This action fetches a single item position for a document.

This action fetches a list of all item positions for a document.

This action fetches a single order

This action fetches a list of all orders.

This action fetches a single pagebreak position for a document.

This action fetches a list of all pagebreak positions for a document.

This action fetches a single quote

This action fetches a list of all quotes.

This action fetches a single subposition position for a document.

This action fetches a list of all subposition positions for a document.

This action fetches a single subtotal position for a document.

This action fetches a list of all subtotal positions for a document.

This action fetches a single text position for a document.

This action fetches a list of all text positions for a document.

Issue a quote.

Mark a quote as sent.

This action returns a pdf document of the order

This action returns a pdf document of the quote

Reissue a quote.

Revert Issue a quote.

Search orders via query. The following search fields are supported

Search quotes via query. The following search fields are supported

Link to this section Functions

Link to this function

accept_quote(client, id)

@spec accept_quote(
  client :: Tesla.Client.t(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Accept a quote.

Link to this function

create_comment(client, document_type, document_id, comment)

@spec create_comment(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  comment :: BexioApiClient.SalesOrderManagement.Comment.t()
) :: {:ok, BexioApiClient.SalesOrderManagement.Comment.t()} | {:error, any()}

Create a comment

Link to this function

create_default_position(client, document_type, document_id, position)

@spec create_default_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position :: BexioApiClient.SalesOrderManagement.PositionDefault.t()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionDefault.t()}
  | {:error, any()}

Create a default position

Link to this function

create_discount_position(client, document_type, document_id, position)

@spec create_discount_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position :: BexioApiClient.SalesOrderManagement.PositionDiscount.t()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionDiscount.t()}
  | {:error, any()}

Create a discount position

Link to this function

create_item_position(client, document_type, document_id, position)

@spec create_item_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position :: BexioApiClient.SalesOrderManagement.PositionItem.t()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionItem.t()} | {:error, any()}

Create an item position

Link to this function

create_order(client, order)

@spec create_order(
  client :: Tesla.Client.t(),
  order :: BexioApiClient.SalesOrderManagement.Order.t()
) :: {:ok, BexioApiClient.SalesOrderManagement.Order.t()} | {:error, any()}

Create an order (id in order will be ignored). Be also aware: whether you need or must not send a document number depends on the settings in Bexio. It cannot be controlled by the API and as such will just send if it exists.

Link to this function

create_pagebreak_position(client, document_type, document_id)

@spec create_pagebreak_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionPagebreak.t()}
  | {:error, any()}

Create a pagebreak position

Link to this function

create_quote(client, offer)

@spec create_quote(
  client :: Tesla.Client.t(),
  offer :: BexioApiClient.SalesOrderManagement.Quote.t()
) :: {:ok, BexioApiClient.SalesOrderManagement.Quote.t()} | {:error, any()}

Create a quote (id in order will be ignored). Be also aware: whether you need or must not send a document number depends on the settings in Bexio. It cannot be controlled by the API and as such will just send if it exists.

Link to this function

create_subposition_position(client, document_type, document_id, text, show_pos_nr?)

@spec create_subposition_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  text :: String.t(),
  show_pos_nr? :: boolean()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionSubposition.t()}
  | {:error, any()}

Create a subposition position

Link to this function

create_subtotal_position(client, document_type, document_id, text)

@spec create_subtotal_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  text :: String.t()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionSubtotal.t()}
  | {:error, any()}

Create a subtotal position.

Link to this function

create_text_position(client, document_type, document_id, text, show_pos_nr?)

@spec create_text_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  text :: String.t(),
  show_pos_nr? :: boolean()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionText.t()} | {:error, any()}

Create a text position

Link to this function

decline_quote(client, id)

@spec decline_quote(
  client :: Tesla.Client.t(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Decline a quote.

Link to this function

delete_default_position(client, document_type, document_id, id)

@spec delete_default_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Delete a default position.

Link to this function

delete_discount_position(client, document_type, document_id, id)

@spec delete_discount_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Delete a discount position.

Link to this function

delete_item_position(client, document_type, document_id, id)

@spec delete_item_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Delete a default position.

Link to this function

delete_order(client, id)

@spec delete_order(
  client :: Tesla.Client.t(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Delete an order.

Link to this function

delete_pagebreak_position(client, document_type, document_id, id)

@spec delete_pagebreak_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Delete a pagebreak position.

Link to this function

delete_quote(client, id)

@spec delete_quote(
  client :: Tesla.Client.t(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Delete a quote.

Link to this function

delete_subposition_position(client, document_type, document_id, id)

@spec delete_subposition_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Delete a subposition position.

Link to this function

delete_subtotal_position(client, document_type, document_id, id)

@spec delete_subtotal_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Delete a subtotal position.

Link to this function

delete_text_position(client, document_type, document_id, id)

@spec delete_text_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Delete a text position.

Link to this function

edit_default_position(client, document_type, document_id, position)

@spec edit_default_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position :: BexioApiClient.SalesOrderManagement.PositionDefault.t()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionDefault.t()}
  | {:error, any()}

Edit a default position.

Link to this function

edit_discount_position(client, document_type, document_id, position)

@spec edit_discount_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position :: BexioApiClient.SalesOrderManagement.PositionDiscount.t()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionDiscount.t()}
  | {:error, any()}

Edit a discount position.

Link to this function

edit_item_position(client, document_type, document_id, position)

@spec edit_item_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position :: BexioApiClient.SalesOrderManagement.PositionItem.t()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionItem.t()} | {:error, any()}

Edit an item.

Link to this function

edit_order(client, order)

@spec edit_order(
  client :: Tesla.Client.t(),
  order :: BexioApiClient.SalesOrderManagement.Order.t()
) :: {:ok, BexioApiClient.SalesOrderManagement.Order.t()} | {:error, any()}

Edit an order.

Link to this function

edit_pagebreak_position(client, document_type, document_id, position_id, pagebreak)

@spec edit_pagebreak_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position_id :: pos_integer(),
  pagebreak :: boolean()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionPagebreak.t()}
  | {:error, any()}

Edit a pagebreak position.

Link to this function

edit_quote(client, offer)

@spec edit_quote(
  client :: Tesla.Client.t(),
  offer :: BexioApiClient.SalesOrderManagement.Quote.t()
) :: {:ok, BexioApiClient.SalesOrderManagement.Quote.t()} | {:error, any()}

Edit a quote.

Link to this function

edit_subposition_position(client, document_type, document_id, position_id, text, show_pos_nr?)

@spec edit_subposition_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position_id :: pos_integer(),
  text :: String.t(),
  show_pos_nr? :: boolean()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionSubposition.t()}
  | {:error, any()}

Edit a subposition position.

Link to this function

edit_subtotal_position(client, document_type, document_id, position_id, text)

@spec edit_subtotal_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position_id :: pos_integer(),
  text :: String.t()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionSubtotal.t()}
  | {:error, any()}

Edit a subtotal position.

Link to this function

edit_text_position(client, document_type, document_id, position_id, text, show_pos_nr?)

@spec edit_text_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position_id :: pos_integer(),
  text :: String.t(),
  show_pos_nr? :: boolean()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionText.t()} | {:error, any()}

Edit a text position.

Link to this function

fetch_comment(client, document_type, document_id, comment_id)

@spec fetch_comment(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  comment_id :: pos_integer()
) :: {:ok, BexioApiClient.SalesOrderManagement.Comment.t()} | {:error, any()}

This action fetches a single comment.

Link to this function

fetch_comments(client, document_type, document_id, opts \\ [])

@spec fetch_comments(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  opts :: [BexioApiClient.GlobalArguments.offset_without_order_by_arg()]
) :: {:ok, [BexioApiClient.SalesOrderManagement.Comment.t()]} | {:error, any()}

This action fetches a list of comments.

Link to this function

fetch_default_position(client, document_type, document_id, position_id)

@spec fetch_default_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position_id :: pos_integer()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionDefault.t()}
  | {:error, any()}

This action fetches a single default position for a document.

Link to this function

fetch_default_positions(client, document_type, document_id, opts \\ [])

@spec fetch_default_positions(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  opts :: [BexioApiClient.GlobalArguments.offset_without_order_by_arg()]
) ::
  {:ok, [BexioApiClient.SalesOrderManagement.PositionDefault.t()]}
  | {:error, any()}

This action fetches a list of all default positions for a document.

Link to this function

fetch_discount_position(client, document_type, document_id, position_id)

@spec fetch_discount_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position_id :: pos_integer()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionDiscount.t()}
  | {:error, any()}

This action fetches a single discount position for a document.

Link to this function

fetch_discount_positions(client, document_type, document_id, opts \\ [])

@spec fetch_discount_positions(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  opts :: [BexioApiClient.GlobalArguments.offset_without_order_by_arg()]
) ::
  {:ok, [BexioApiClient.SalesOrderManagement.PositionDiscount.t()]}
  | {:error, any()}

This action fetches a list of all discount positions for a document.

Link to this function

fetch_item_position(client, document_type, document_id, position_id)

@spec fetch_item_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position_id :: pos_integer()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionItem.t()} | {:error, any()}

This action fetches a single item position for a document.

Link to this function

fetch_item_positions(client, document_type, document_id, opts \\ [])

@spec fetch_item_positions(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  opts :: [BexioApiClient.GlobalArguments.offset_without_order_by_arg()]
) ::
  {:ok, [BexioApiClient.SalesOrderManagement.PositionItem.t()]}
  | {:error, any()}

This action fetches a list of all item positions for a document.

Link to this function

fetch_order(client, order_id)

@spec fetch_order(
  client :: Tesla.Client.t(),
  order_id :: pos_integer()
) :: {:ok, BexioApiClient.SalesOrderManagement.Order.t()} | {:error, any()}

This action fetches a single order

Link to this function

fetch_orders(client, opts \\ [])

@spec fetch_orders(
  client :: Tesla.Client.t(),
  opts :: [BexioApiClient.GlobalArguments.offset_arg()]
) :: {:ok, [BexioApiClient.SalesOrderManagement.Order.t()]} | {:error, any()}

This action fetches a list of all orders.

Link to this function

fetch_pagebreak_position(client, document_type, document_id, position_id)

@spec fetch_pagebreak_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position_id :: pos_integer()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionPagebreak.t()}
  | {:error, any()}

This action fetches a single pagebreak position for a document.

Link to this function

fetch_pagebreak_positions(client, document_type, document_id, opts \\ [])

@spec fetch_pagebreak_positions(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  opts :: [BexioApiClient.GlobalArguments.offset_without_order_by_arg()]
) ::
  {:ok, [BexioApiClient.SalesOrderManagement.PositionPagebreak.t()]}
  | {:error, any()}

This action fetches a list of all pagebreak positions for a document.

Link to this function

fetch_quote(client, quote_id)

@spec fetch_quote(
  client :: Tesla.Client.t(),
  quote_id :: pos_integer()
) :: {:ok, BexioApiClient.SalesOrderManagement.Quote.t()} | {:error, any()}

This action fetches a single quote

Link to this function

fetch_quotes(client, opts \\ [])

@spec fetch_quotes(
  client :: Tesla.Client.t(),
  opts :: [BexioApiClient.GlobalArguments.offset_arg()]
) :: {:ok, [BexioApiClient.SalesOrderManagement.Quote.t()]} | {:error, any()}

This action fetches a list of all quotes.

Link to this function

fetch_subposition_position(client, document_type, document_id, position_id)

@spec fetch_subposition_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position_id :: pos_integer()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionSubposition.t()}
  | {:error, any()}

This action fetches a single subposition position for a document.

Link to this function

fetch_subposition_positions(client, document_type, document_id, opts \\ [])

@spec fetch_subposition_positions(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  opts :: [BexioApiClient.GlobalArguments.offset_without_order_by_arg()]
) ::
  {:ok, [BexioApiClient.SalesOrderManagement.PositionSubposition.t()]}
  | {:error, any()}

This action fetches a list of all subposition positions for a document.

Link to this function

fetch_subtotal_position(client, document_type, document_id, position_id)

@spec fetch_subtotal_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position_id :: pos_integer()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionSubtotal.t()}
  | {:error, any()}

This action fetches a single subtotal position for a document.

Link to this function

fetch_subtotal_positions(client, document_type, document_id, opts \\ [])

@spec fetch_subtotal_positions(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  opts :: [BexioApiClient.GlobalArguments.offset_without_order_by_arg()]
) ::
  {:ok, [BexioApiClient.SalesOrderManagement.PositionSubtotal.t()]}
  | {:error, any()}

This action fetches a list of all subtotal positions for a document.

Link to this function

fetch_text_position(client, document_type, document_id, position_id)

@spec fetch_text_position(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  position_id :: pos_integer()
) ::
  {:ok, BexioApiClient.SalesOrderManagement.PositionText.t()} | {:error, any()}

This action fetches a single text position for a document.

Link to this function

fetch_text_positions(client, document_type, document_id, opts \\ [])

@spec fetch_text_positions(
  client :: Tesla.Client.t(),
  document_type :: :offer | :order | :invoice,
  document_id :: pos_integer(),
  opts :: [BexioApiClient.GlobalArguments.offset_without_order_by_arg()]
) ::
  {:ok, [BexioApiClient.SalesOrderManagement.PositionText.t()]}
  | {:error, any()}

This action fetches a list of all text positions for a document.

Link to this function

issue_quote(client, id)

@spec issue_quote(
  client :: Tesla.Client.t(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Issue a quote.

Link to this function

mark_quote_as_sent(client, id)

@spec mark_quote_as_sent(
  client :: Tesla.Client.t(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Mark a quote as sent.

Link to this function

order_pdf(client, order_id)

@spec order_pdf(
  client :: Tesla.Client.t(),
  order_id :: pos_integer()
) :: {:ok, map()} | {:error, any()}

This action returns a pdf document of the order

Link to this function

quote_pdf(client, quote_id)

@spec quote_pdf(
  client :: Tesla.Client.t(),
  quote_id :: pos_integer()
) :: {:ok, map()} | {:error, any()}

This action returns a pdf document of the quote

Link to this function

reissue_quote(client, id)

@spec reissue_quote(
  client :: Tesla.Client.t(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Reissue a quote.

Link to this function

revert_issue_quote(client, id)

@spec revert_issue_quote(
  client :: Tesla.Client.t(),
  id :: non_neg_integer()
) :: {:ok, boolean()} | {:error, any()}

Revert Issue a quote.

Link to this function

search_orders(client, criteria, opts \\ [])

@spec search_orders(
  client :: Tesla.Client.t(),
  criteria :: [BexioApiClient.SearchCriteria.t()],
  opts :: [BexioApiClient.GlobalArguments.offset_arg()]
) :: {:ok, [BexioApiClient.SalesOrderManagement.Order.t()]} | {:error, any()}

Search orders via query. The following search fields are supported:

  • id
  • kb_item_status
  • document_nr
  • title
  • contact_id
  • contact_sub_id
  • user_id
  • currency_id
  • total_gross
  • total_net
  • total
  • is_valid_from
  • updated_at
Link to this function

search_quotes(client, criteria, opts \\ [])

@spec search_quotes(
  client :: Tesla.Client.t(),
  criteria :: [BexioApiClient.SearchCriteria.t()],
  opts :: [BexioApiClient.GlobalArguments.offset_arg()]
) :: {:ok, [BexioApiClient.SalesOrderManagement.Quote.t()]} | {:error, any()}

Search quotes via query. The following search fields are supported:

  • id
  • kb_item_status
  • document_nr
  • title
  • contact_id
  • contact_sub_id
  • user_id
  • currency_id
  • total_gross
  • total_net
  • total
  • is_valid_from
  • is_valid_until
  • is_valid_to (?)
  • updated_at