Codat.BankFeeds.Transactions (codat v1.0.0)

Copy Markdown View Source

Push bank transactions into a customer's accounting software.

Transactions must be pushed for a mapped source account (see Codat.BankFeeds.AccountMapping).

Example

{:ok, push_op} = Codat.BankFeeds.Transactions.create(
  client, company_id, conn_id,
  %{
    accountId: "source-account-id",
    transactions: [
      %{
        id: "txn-001",
        date: "2024-01-15",
        description: "Stripe payment",
        amount: 1500.00,
        balance: 11_500.00
      }
    ]
  }
)

Summary

Functions

create(client_or_company_id, company_or_conn_id, conn_or_body, body_or_opts \\ %{})

@spec create(
  Codat.Client.t() | String.t(),
  String.t(),
  String.t() | map(),
  map() | keyword()
) ::
  {:ok, map()} | {:error, Codat.Error.t()}

Creates a new bankTransactions (async). Returns a push operation.

delete(client_or_company_id, company_or_resource_id, resource_id_or_opts \\ [])

@spec delete(Codat.Client.t() | String.t(), String.t(), String.t() | keyword()) ::
  {:ok, nil} | {:error, Codat.Error.t()}

Deletes a bankTransactions by ID (async).

fetch_all(client_or_company_id, company_id_or_opts \\ [], opts \\ [])

@spec fetch_all(Codat.Client.t() | String.t(), String.t() | keyword(), keyword()) ::
  {:ok, [map()]} | {:error, Codat.Error.t()}

Fetches all bankTransactions across all pages concurrently.

get(client_or_company_id, company_or_resource_id, resource_id_or_opts \\ [])

@spec get(Codat.Client.t() | String.t(), String.t(), String.t() | keyword()) ::
  {:ok, map()} | {:error, Codat.Error.t()}

Fetches a single bankTransactions by ID.

get_create_model(client_or_company_id, company_or_conn_id, opts \\ [])

@spec get_create_model(Codat.Client.t() | String.t(), String.t(), keyword()) ::
  {:ok, map()} | {:error, Codat.Error.t()}

Returns the push model for creating bankTransactions.

get_update_model(client_or_company_id, company_or_conn_id, conn_or_resource_id, resource_id_or_opts \\ [])

@spec get_update_model(
  Codat.Client.t() | String.t(),
  String.t(),
  String.t() | keyword(),
  keyword()
) ::
  {:ok, map()} | {:error, Codat.Error.t()}

Returns the push model for updating a bankTransactions record.

list(client_or_company_id, company_id_or_opts \\ [], opts \\ [])

@spec list(Codat.Client.t() | String.t(), String.t() | keyword(), keyword()) ::
  {:ok, Codat.Pagination.t()} | {:error, Codat.Error.t()}

Returns a paginated list of bankTransactions.

stream(client_or_company_id, company_id_or_opts \\ [], opts \\ [])

@spec stream(Codat.Client.t() | String.t(), String.t() | keyword(), keyword()) ::
  Enumerable.t()

Returns a lazy Stream of all results.

update(client_or_company_id, company_or_conn_id, conn_or_resource_id, resource_or_body, body_or_opts \\ %{})

@spec update(
  Codat.Client.t() | String.t(),
  String.t(),
  String.t(),
  String.t() | map(),
  map() | keyword()
) :: {:ok, map()} | {:error, Codat.Error.t()}

Updates an existing bankTransactions (async).