Tipalti.API.Payer (tipalti v0.10.0) 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
Not yet implemented
Create new invoices or update existing ones.
Not yet implemented
Not yet implemented
Not yet implemented
Get balances in your accounts.
Not yet implemented
Not yet implemented
Not yet implemented
Return list of payee invoices.
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
Not yet implemented
Link to this section Types
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
.
Specs
An invoice approver, used when creating invoices in create_or_update_invoices/1
.
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 section Functions
Specs
apply_vendor_credit() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
create_extended_payee_status_file() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
create_or_update_custom_fields() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
create_or_update_gl_accounts() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
create_or_update_grns() :: {:error, :not_yet_implemented}
Not yet implemented
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}]}
Specs
create_or_update_purchase_orders() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
create_payee_status_file() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
create_payment_orders_report() :: {:error, :not_yet_implemented}
Not yet implemented
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"
}
]}
Specs
get_custom_fields() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
get_dynamic_key() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
get_dynamic_key_of_sub_payer() :: {:error, :not_yet_implemented}
Not yet implemented
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
}
]}
Specs
get_payer_fees() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
get_processing_request_status() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
get_provider_accounts() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
get_updated_payments() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
log_integration_error() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
process_multi_currency_payment_file() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
process_multi_currency_payment_file_async() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
process_payment_file() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
process_payment_file_async() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
process_payments() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
process_payments_async() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
process_payments_async_result() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
test_multi_currency_payment_file() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
test_multi_currency_payment_file_async() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
test_payment_file() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
test_payment_file_async() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
test_payments() :: {:error, :not_yet_implemented}
Not yet implemented
Specs
test_payments_async() :: {:error, :not_yet_implemented}
Not yet implemented