tipalti v0.2.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
All Payer API responses are of this form
Link to this section Types
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.
An invoice approver, used when creating invoices in create_or_update_invoices/1.
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.
All Payer API responses are of this form.
Link to this section Functions
create_or_update_invoices([invoice()]) :: payer_response()
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: Iftrue, 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, map} where map contains the following fields:
invoice_results: List of invoice resultserror_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,
%{
invoice_results: [
%{
error_message: "Due date cannot be earlier then invoice date",
ref_code: "testinvoice1",
succeeded: false
},
%{error_message: nil, ref_code: "testinvoice2", succeeded: true}
]
}}
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,
%{
account_infos: [
%{
account_identifier: "1234",
balance: "1000",
currency: "USD",
provider: "Tipalti"
}
]
}}