tipalti v0.5.0 Tipalti.API.Payer View Source

Payer functions.

Details are taken from: https://api.tipalti.com/v5/PayerFunctions.asmx

Link to this section Summary

Types

An invoice, used when creating invoices in create_or_update_invoices/1

An invoice approver, used when creating invoices in create_or_update_invoices/1

An invoice line item, used when creating invoices in create_or_update_invoices/1

Functions

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Create new invoices or update existing ones

Not yet implemented

Not yet implemented

Get balances in your accounts

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Not yet implemented

Link to this section Types

Link to this type invoice() View Source
invoice() :: %{
  :can_approve => boolean(),
  :date => String.t(),
  :idap => Tipalti.idap(),
  :is_paid_manually => boolean(),
  :subject => String.t(),
  optional(:ap_account_number) => String.t(),
  optional(:approvers) => [invoice_approver()],
  optional(:currency) => String.t(),
  optional(:custom_fields) => [Tipalti.key_value_pair()],
  optional(:description) => String.t(),
  optional(:due_date) => String.t(),
  optional(:income_type) => String.t(),
  optional(:internal_notes) => String.t(),
  optional(:line_items) => [invoice_line_item()],
  optional(:number) => String.t(),
  optional(:payer_entity_name) => String.t(),
  optional(:ref_code) => String.t(),
  optional(:status) => String.t()
}

An invoice, used when creating invoices in create_or_update_invoices/1.

Link to this type invoice_approver() View Source
invoice_approver() :: %{
  :email => String.t(),
  :name => String.t(),
  optional(:order) => integer()
}

An invoice approver, used when creating invoices in create_or_update_invoices/1.

Link to this type invoice_line_item() View Source
invoice_line_item() :: %{
  :amount => String.t(),
  optional(:banking_message) => String.t(),
  optional(:currency) => String.t(),
  optional(:custom_fields) => [Tipalti.key_value_pair()],
  optional(:description) => String.t(),
  optional(:e_wallet_message) => String.t(),
  optional(:external_metadata) => String.t(),
  optional(:internal_notes) => String.t(),
  optional(:line_type) => String.t(),
  optional(:quantity) => integer()
}

An invoice line item, used when creating invoices in create_or_update_invoices/1.

Link to this section Functions

Link to this function apply_vendor_credit() View Source
apply_vendor_credit() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function create_extended_payee_status_file() View Source
create_extended_payee_status_file() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function create_or_update_custom_fields() View Source
create_or_update_custom_fields() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function create_or_update_gl_accounts() View Source
create_or_update_gl_accounts() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function create_or_update_grns() View Source
create_or_update_grns() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function create_or_update_invoices(invoices) View Source
create_or_update_invoices([invoice()]) ::
  {:ok,
   [
     %{
       error_message: String.t() | nil,
       ref_code: String.t(),
       succeeded: boolean()
     }
   ]}
  | {:error, Tipalti.RequestError.t()}

Create new invoices or update existing ones.

Returns a list of invoice responses for each invoice, indicating if it succeeded and what the errors were if it didn’t.

See https://support.tipalti.com/Content/Topics/Development/APIs/PayerApi.htm for details.

Parameters

  • invoices[]: List of maps of invoice params.

    • idap: Payee id.
    • ref_code: Uniq id for this invoice (leave null for auto-generated id).
    • date: Invoice value date (estimated date and time the payee receives the funds).
    • due_date: The date and time the invoice is due to be paid.
    • line_items[]: List of invoice lines.

      • currency: Invoice currency.
      • amount: Invoice line amount.
      • description: Description of the invoice line.
      • internal_notes: Notes which are not displayed to the payee.
      • e_wallet_message: A message to attach to the payment. This message is sent to providers and appears on payee bank statements. If no value is provided, the InvoiceRefCode is used..
      • banking_message: A message to attach to the payment. This message is sent to providers and appears on payee bank statements. If a value is not provided, the EWalletMessage is used.
      • custom_fields[]: If custom fields have been defined for the invoice entity, the values of these fields can be set here. The field name must match the defined custom field name.

        • key: The custom field key.
        • value: The custom field value.
      • line_type: ?
      • external_metadata: ?
      • quantity: ?
    • description: Description of the invoice.
    • can_approve: Indicates whether or not the payee is able to approve the invoice.
    • internal_notes: Notes, which are not displayed to the payee.
    • custom_fields[]: If custom fields have been defined for the invoice entity, the values of these fields can be set here. The field name must match the defined custom field name.

      • key: The custom field key.
      • value: The custom field value.
    • is_paid_manually: If true, the invoice is marked as paid manually.
    • income_type: If the Tax Withholding module is enabled and there are multiple income types that can be associated with the payment, then you must enter the IncomeType per payment.
    • status: ?
    • currency: Invoice currency.
    • approvers: ?
    • number: ?
    • payer_entity_name: The name of the payer entity linked to the invoice.
    • subject: The text for the title of the invoice, displays for the payee in the Payee Dashboard or Suppliers Portal.
    • ap_account_number: ?

Returns

{:ok, list} where list is a list of maps contains the following fields:

  • error_message: String; if there was an error creating the invoice.
  • ref_code: String; corresponds to the input invoices.
  • succeeded: Boolean; Indicates if creating the invoice succeeded.

Examples

iex> create_or_update_invoices([%{idap: "somepayee", ref_code: "testinvoice1", due_date: "2018-05-01", date: "2018-06-01", subject: "test invoice 1", currency: "USD", line_items: [%{amount: "100.00", description: "test line item"}]}, %{idap: "somepayee", ref_code: "testinvoice2", due_date: "2018-06-01", date: "2018-05-01", subject: "test invoice 2", currency: "USD", line_items: [%{amount: "100.00", description: "test line item"}]}])
{:ok,
[
  %{
    error_message: "Due date cannot be earlier then invoice date",
    ref_code: "testinvoice1",
    succeeded: false
  },
  %{error_message: nil, ref_code: "testinvoice2", succeeded: true}
]}
Link to this function create_or_update_purchase_orders() View Source
create_or_update_purchase_orders() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function create_payee_status_file() View Source
create_payee_status_file() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function create_payment_orders_report() View Source
create_payment_orders_report() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function get_balances() View Source
get_balances() ::
  {:ok, [Tipalti.Balance.t()]}
  | {:error, Tipalti.ClientError.t()}
  | {:error, Tipalti.RequestError.t()}

Get balances in your accounts.

Returns account provider, account identifier, currency and amount in balance. Note: when submitting a payment, the balance may take some time before it is updated.

Examples

iex> get_balances()
{:ok,
[
  %Tipalti.Balance{
    account_identifier: "1234",
    balance: Money.new("USD", "1000"),
    provider: "Tipalti"
  }
]}
Link to this function get_custom_fields() View Source
get_custom_fields() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function get_dynamic_key() View Source
get_dynamic_key() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function get_dynamic_key_of_sub_payer() View Source
get_dynamic_key_of_sub_payer() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function get_payee_invoices_list_details(invoice_ref_codes) View Source
get_payee_invoices_list_details([Tipalti.Invoice.ref_code()]) ::
  {:ok, [Tipalti.Invoice.t()]}
  | {:error, Tipalti.ClientError.t()}
  | {:error, Tipalti.RequestError.t()}

Return list of payee invoices.

Parameters

  • invoice_ref_codes: list of invoice reference codes

Examples

iex> get_payee_invoices_list_details(["12345","12346"])
{:ok,
[
  %Tipalti.Invoice{
    amount_due: Money.new!(:USD, "3.61"),
    approval_date: nil,
    approvers: [],
    can_approve: false,
    custom_fields: [],
    date: ~D[2018-07-23],
    description: "Some invoice",
    due_date: ~D[2018-07-27],
    idap: "payee1",
    internal_notes: "Notes",
    is_paid_manually: false,
    line_items: [
      %Tipalti.Invoice.Line{
        amount: Money.new!(:USD, "3.61"),
        custom_fields: [],
        description: "Charges",
        line_type: nil,
        quantity: nil
      }
    ],
    number: "h6gz1gs2e",
    payer_entity_name: "SomePayee",
    ref_code: "12345",
    status: :pending_payment
  },
  %Tipalti.Invoice{
    amount_due: Money.new!(:USD, "10.47"),
    approval_date: nil,
    approvers: [],
    can_approve: false,
    custom_fields: [],
    date: ~D[2018-07-18],
    description: "Some other invoice",
    due_date: ~D[2018-07-20],
    idap: "payee2",
    internal_notes: "Notes notes notes",
    is_paid_manually: false,
    line_items: [
      %Tipalti.Invoice.Line{
        amount: Money.new!(:USD, "10.47"),
        custom_fields: [],
        description: "Charges",
        line_type: nil,
        quantity: nil
      }
    ],
    number: "h6gz1grv4",
    payer_entity_name: "SomePayee",
    ref_code: "12346",
    status: :pending_payment
  }
]}
Link to this function get_payer_fees() View Source
get_payer_fees() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function get_processing_request_status() View Source
get_processing_request_status() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function get_provider_accounts() View Source
get_provider_accounts() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function get_updated_payments() View Source
get_updated_payments() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function log_integration_error() View Source
log_integration_error() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function process_multi_currency_payment_file() View Source
process_multi_currency_payment_file() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function process_multi_currency_payment_file_async() View Source
process_multi_currency_payment_file_async() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function process_payment_file() View Source
process_payment_file() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function process_payment_file_async() View Source
process_payment_file_async() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function process_payments() View Source
process_payments() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function process_payments_async() View Source
process_payments_async() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function process_payments_async_result() View Source
process_payments_async_result() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function test_multi_currency_payment_file() View Source
test_multi_currency_payment_file() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function test_multi_currency_payment_file_async() View Source
test_multi_currency_payment_file_async() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function test_payment_file() View Source
test_payment_file() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function test_payment_file_async() View Source
test_payment_file_async() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function test_payments() View Source
test_payments() :: {:error, :not_yet_implemented}

Not yet implemented

Link to this function test_payments_async() View Source
test_payments_async() :: {:error, :not_yet_implemented}

Not yet implemented