Payer functions.
Details are taken from: https://api.tipalti.com/v5/PayerFunctions.asmx
Types
invoice()
An invoice, used when creating invoices in create_or_update_invoices/1.
invoice_approver()
An invoice approver, used when creating invoices in create_or_update_invoices/1.
invoice_line_item()
An invoice line item, used when creating invoices in create_or_update_invoices/1.
Functions
apply_vendor_credit()
Not yet implemented
create_extended_payee_status_file()
Not yet implemented
create_or_update_custom_fields()
Not yet implemented
create_or_update_gl_accounts()
Not yet implemented
create_or_update_grns()
Not yet implemented
create_or_update_invoices(invoices_params)
Create new invoices or update existing ones.
create_or_update_purchase_orders()
Not yet implemented
create_payee_status_file()
Not yet implemented
create_payment_orders_report()
Not yet implemented
get_balances()
Get balances in your accounts.
get_custom_fields()
Not yet implemented
get_dynamic_key()
Not yet implemented
get_dynamic_key_of_sub_payer()
Not yet implemented
get_payee_invoices_list_details(invoice_ref_codes)
Return list of payee invoices.
get_payer_fees()
Not yet implemented
get_processing_request_status()
Not yet implemented
get_provider_accounts()
Not yet implemented
get_updated_payments()
Not yet implemented
log_integration_error()
Not yet implemented
process_multi_currency_payment_file()
Not yet implemented
process_multi_currency_payment_file_async()
Not yet implemented
process_payment_file()
Not yet implemented
process_payment_file_async()
Not yet implemented
process_payments()
Not yet implemented
process_payments_async()
Not yet implemented
process_payments_async_result()
Not yet implemented
test_multi_currency_payment_file()
Not yet implemented
test_multi_currency_payment_file_async()
Not yet implemented
test_payment_file()
Not yet implemented
test_payment_file_async()
Not yet implemented
test_payments()
Not yet implemented
test_payments_async()
Not yet implemented
Link to this type
Specs
invoice() :: %{ :date => String.t(), :idap => Tipalti.idap(), :subject => String.t(), :can_approve => boolean(), :is_paid_manually => boolean(), 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
Specs
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
Specs
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 function
Specs
apply_vendor_credit() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
create_extended_payee_status_file() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
create_or_update_custom_fields() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
create_or_update_gl_accounts() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
create_or_update_grns() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
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/PayeeAPI/Intro.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, 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", can_approve: false, is_paid_manually: false, 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}]}iex> too_long_description = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"iex> create_or_update_invoices([%{idap: "somepayee", ref_code: "testinvoice3", due_date: "2018-05-01", date: "2018-06-01", description: too_long_description, currency: "USD", line_items: [%{amount: "100.00", description: "test line item"}]}]){:error, %Tipalti.ClientError{error_code: "UnknownError", error_message: "Internal server errror"}}iex> custom_fields = [%{key: "foo", value: "bar"}]...> line_items = [%{amount: "100.00", description: "test line item", custom_fields: custom_fields}]...> approvers = [%{name: "Mr. Approver", email: "approver@example.com", order: 1}]...> invoice = %{idap: "somepayee", can_approve: false, is_paid_manually: false, ref_code: "testinvoice", due_date: "2018-06-01", date: "2018-05-01", subject: "test invoice", currency: "USD", line_items: line_items, custom_fields: custom_fields, approvers: approvers}...> create_or_update_invoices([invoice]){:ok, [%{error_message: nil, ref_code: "testinvoice", succeeded: true}]}
Link to this function
Specs
create_or_update_purchase_orders() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
create_payee_status_file() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
create_payment_orders_report() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
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
Specs
get_custom_fields() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
get_dynamic_key() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
get_dynamic_key_of_sub_payer() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
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
Specs
get_payer_fees() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
get_processing_request_status() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
get_provider_accounts() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
get_updated_payments() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
log_integration_error() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
process_multi_currency_payment_file() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
process_multi_currency_payment_file_async() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
process_payment_file() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
process_payment_file_async() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
process_payments() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
process_payments_async() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
process_payments_async_result() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
test_multi_currency_payment_file() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
test_multi_currency_payment_file_async() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
test_payment_file() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
test_payment_file_async() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
test_payments() :: {:error, :not_yet_implemented}
Not yet implemented
Link to this function
Specs
test_payments_async() :: {:error, :not_yet_implemented}
Not yet implemented