Captures identifying/KYB information for a business as part of opening a
business account, including its beneficial owners, control persons, and
signers (each represented by a TreasuryPrime.PersonApplication). Once
approved, business_id is populated with the resulting
TreasuryPrime.Business.
Creating one
{:ok, business_app} =
TreasuryPrime.BusinessApplication.create(client, %{
name: "Acme Goods Inc",
legal_structure: "llc",
tin: "11-3344555",
established_on: "2014-08-01",
incorporation_state: "DE",
description: "Buying and selling of goods",
naics: "42",
naics_description: "Wholesale Trade",
phone_number: "4155551111",
physical_address: %{
street_line_1: "115 West St",
city: "Benicia",
state: "CA",
postal_code: "94510"
},
person_applications: [
%{id: ceo_person_app.id, roles: ["signer"], ownership_percentage: 60, title: "CEO"},
%{id: cfo_person_app.id, roles: ["control_person", "signer"], ownership_percentage: 20, title: "CFO"}
]
})At least one associated person application must carry the
"control_person" role, per FinCEN Customer Due Diligence (CDD) rules
for legal entity customers.
Summary
Functions
Creates a business application. Required: name, legal_structure,
tin, physical_address, person_applications (with at least one
"control_person").
Fetches a single business application by id.
Lists business applications.
Updates a business application (only possible before its account application is approved).
Types
@type t() :: %TreasuryPrime.BusinessApplication{ bank_id: String.t() | nil, bankdata: map() | nil, business_id: String.t() | nil, created_at: String.t() | nil, dba: String.t() | nil, description: String.t() | nil, established_on: String.t() | nil, id: String.t() | nil, incorporation_state: String.t() | nil, legal_structure: String.t() | nil, mailing_address: map() | nil, naics: String.t() | nil, naics_description: String.t() | nil, name: String.t() | nil, person_applications: [person_application_ref()] | nil, phone_number: String.t() | nil, physical_address: map() | nil, status: String.t() | nil, tin: String.t() | nil, updated_at: String.t() | nil, userdata: map() | nil }
Functions
@spec create(TreasuryPrime.Client.t(), map(), keyword()) :: {:ok, t()} | {:error, TreasuryPrime.Error.t()}
Creates a business application. Required: name, legal_structure,
tin, physical_address, person_applications (with at least one
"control_person").
@spec create!(TreasuryPrime.Client.t(), map(), keyword()) :: t()
@spec get(TreasuryPrime.Client.t(), String.t()) :: {:ok, t()} | {:error, TreasuryPrime.Error.t()}
Fetches a single business application by id.
@spec get!(TreasuryPrime.Client.t(), String.t()) :: t()
@spec list(TreasuryPrime.Client.t(), map()) :: {:ok, TreasuryPrime.Page.t()} | {:error, TreasuryPrime.Error.t()}
Lists business applications.
Filterable params
status, tin.
@spec list!(TreasuryPrime.Client.t(), map()) :: TreasuryPrime.Page.t()
@spec update(TreasuryPrime.Client.t(), String.t(), map()) :: {:ok, t()} | {:error, TreasuryPrime.Error.t()}
Updates a business application (only possible before its account application is approved).
@spec update!(TreasuryPrime.Client.t(), String.t(), map()) :: t()