Legacy SOAP API — Payer Functions (PayerFunctions.asmx).
Every operation here signs the request per Tipalti.SOAP.Signature and
goes through Tipalti.SOAP.Client.call/5. Each function documents the
operation's EAT (Encryption Additional Terms) parameter, if it has one.
Every function has a raising ! counterpart.
Summary
Functions
Applies a vendor credit to one or more bills.
Requests an extended bulk payee-status CSV export to SFTP. EAT: saveToFile.
Creates or updates custom field definitions.
Creates or updates one or more G/L accounts.
Creates or updates one or more goods-received notices (GRNs).
Creates or updates one or more invoices.
Creates or updates one or more purchase orders.
Requests a bulk payee-status CSV export to SFTP. EAT: saveToFile.
Requests a payment-orders report export to SFTP.
Returns account balances by provider and currency.
Retrieves custom field definitions.
Generates a signing key/token for embedding a Tipalti iFrame for the given payee.
Generates a signing key/token for embedding a Tipalti iFrame for a sub-payer.
Retrieves invoice details by reference code.
Returns fees charged in a date range.
Polls the status of an async processing request. EAT: requestId.
Lists the payer's provider accounts.
Returns reference codes of payment orders updated since a Unix timestamp.
Logs an integration error from a connected ERP/accounting system.
Submits a pre-loaded multi-currency SFTP payment file for processing. EAT: fileName.
Submits a pre-loaded SFTP payment file for processing. EAT: totalAmount.
Processes up to 250 payments in a single call. EAT: paymentGroupTitle
(pass via opts).
Dry-runs process_payments/3 — validates without moving money.
Functions
@spec apply_vendor_credit(Tipalti.Config.t(), map()) :: {:ok, map()} | {:error, Exception.t()}
Applies a vendor credit to one or more bills.
@spec create_extended_payee_status_file(Tipalti.Config.t(), String.t()) :: {:ok, map()} | {:error, Exception.t()}
Requests an extended bulk payee-status CSV export to SFTP. EAT: saveToFile.
@spec create_or_update_custom_fields(Tipalti.Config.t(), [map()]) :: {:ok, map()} | {:error, Exception.t()}
Creates or updates custom field definitions.
@spec create_or_update_gl_accounts(Tipalti.Config.t(), [map()]) :: {:ok, map()} | {:error, Exception.t()}
Creates or updates one or more G/L accounts.
@spec create_or_update_grns(Tipalti.Config.t(), [map()]) :: {:ok, map()} | {:error, Exception.t()}
Creates or updates one or more goods-received notices (GRNs).
@spec create_or_update_invoices(Tipalti.Config.t(), [map()]) :: {:ok, map()} | {:error, Exception.t()}
Creates or updates one or more invoices.
@spec create_or_update_purchase_orders(Tipalti.Config.t(), [map()]) :: {:ok, map()} | {:error, Exception.t()}
Creates or updates one or more purchase orders.
@spec create_payee_status_file(Tipalti.Config.t(), String.t()) :: {:ok, map()} | {:error, Exception.t()}
Requests a bulk payee-status CSV export to SFTP. EAT: saveToFile.
@spec create_payment_orders_report(Tipalti.Config.t(), String.t(), String.t()) :: {:ok, map()} | {:error, Exception.t()}
Requests a payment-orders report export to SFTP.
@spec get_balances(Tipalti.Config.t()) :: {:ok, map()} | {:error, Exception.t()}
Returns account balances by provider and currency.
@spec get_custom_fields(Tipalti.Config.t()) :: {:ok, map()} | {:error, Exception.t()}
Retrieves custom field definitions.
@spec get_dynamic_key(Tipalti.Config.t(), String.t()) :: {:ok, map()} | {:error, Exception.t()}
Generates a signing key/token for embedding a Tipalti iFrame for the given payee.
@spec get_dynamic_key_of_sub_payer(Tipalti.Config.t(), String.t(), String.t()) :: {:ok, map()} | {:error, Exception.t()}
Generates a signing key/token for embedding a Tipalti iFrame for a sub-payer.
@spec get_payee_invoices_list_details(Tipalti.Config.t(), [String.t()]) :: {:ok, map()} | {:error, Exception.t()}
Retrieves invoice details by reference code.
@spec get_payer_fees(Tipalti.Config.t(), String.t(), String.t()) :: {:ok, map()} | {:error, Exception.t()}
Returns fees charged in a date range.
@spec get_processing_request_status(Tipalti.Config.t(), String.t()) :: {:ok, map()} | {:error, Exception.t()}
Polls the status of an async processing request. EAT: requestId.
@spec get_provider_accounts(Tipalti.Config.t()) :: {:ok, map()} | {:error, Exception.t()}
Lists the payer's provider accounts.
@spec get_updated_payments(Tipalti.Config.t(), integer()) :: {:ok, map()} | {:error, Exception.t()}
Returns reference codes of payment orders updated since a Unix timestamp.
@spec log_integration_error(Tipalti.Config.t(), String.t()) :: {:ok, map()} | {:error, Exception.t()}
Logs an integration error from a connected ERP/accounting system.
@spec process_multi_currency_payment_file(Tipalti.Config.t(), String.t()) :: {:ok, map()} | {:error, Exception.t()}
Submits a pre-loaded multi-currency SFTP payment file for processing. EAT: fileName.
@spec process_payment_file(Tipalti.Config.t(), String.t(), number()) :: {:ok, map()} | {:error, Exception.t()}
Submits a pre-loaded SFTP payment file for processing. EAT: totalAmount.
@spec process_payments(Tipalti.Config.t(), [map()], keyword()) :: {:ok, map()} | {:error, Exception.t()}
Processes up to 250 payments in a single call. EAT: paymentGroupTitle
(pass via opts).
Tipalti.SOAP.Payer.process_payments(config, [
%{idap: "vendor-123", amount: 100.00, currency: "USD", refCode: "pay-1"}
], payment_group_title: "Weekly payout")
@spec test_multi_currency_payment_file(Tipalti.Config.t(), String.t()) :: {:ok, map()} | {:error, Exception.t()}
Dry-runs process_multi_currency_payment_file/2.
@spec test_payment_file(Tipalti.Config.t(), String.t(), number()) :: {:ok, map()} | {:error, Exception.t()}
Dry-runs process_payment_file/3.
@spec test_payments(Tipalti.Config.t(), [map()], keyword()) :: {:ok, map()} | {:error, Exception.t()}
Dry-runs process_payments/3 — validates without moving money.