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"
}
]
}}