Kyriba to Snowflake: How to Move Your Data

Move Kyriba treasury data into Snowflake with Airbyte. Why end of day and intraday balances are not interchangeable, and what basic auth means for operations.

Summarize with AI:

Moving Kyriba into Snowflake puts treasury data where it can be joined to everything else the business knows. Kyriba tells you what cash you hold and where. Your ERP knows what is owed, your billing system knows what is coming in, and liquidity questions worth asking need all three in one place.

This guide covers the managed path with Airbyte. The connector is small and well behaved, and it has one structural feature that decides whether your reported figures agree with your treasury team's: balances arrive in two flavours, and they mean different things.

Kyriba to Snowflake at a glance:

CapabilitySupportedWhat it means for this pipeline
Balance streamsTwo kinds eachEnd of day and intraday, and they are not interchangeable
Streams availableFiveAccounts, bank balances, cash balances and cash flows
AuthenticationUsername and passwordBasic auth, so a service account matters more than usual
End dateOptionalBounds the sync, which is useful for a fixed extract
Rate limitsRarely an issueThe connector should not hit them under normal usage

Why move data from Kyriba to Snowflake?

Two situations account for most of these pipelines.

The first is liquidity analysis across the business. Cash positions next to receivables, payables and forecast revenue is how you answer questions about runway and working capital, and no treasury system holds all of that. A warehouse does.

The second is history. Treasury interfaces are built for managing today's position, and questions about how balances moved across quarters, or how forecast accuracy has changed, need a long window and SQL. If you only need today's cash position, Kyriba already shows you that and this pipeline adds nothing.

What do you need before you start?

A short list, and one item deserves more care here than on most sources:

Your Kyriba domain, and a username and password. The connector uses basic authentication rather than an API key or token. The Kyriba source documentation lists the fields.

A dedicated service account for those credentials. Because this is a username and password rather than a revocable token, a pipeline built on an individual's login inherits their access, breaks when they leave, and breaks again whenever password policy forces a rotation. On a treasury system those credentials are also among the most sensitive your organisation holds.

A start date, and possibly an end date. Syncing commences from the start date. The end date is optional and bounds the last date synced, which is unusual and genuinely useful when you want a fixed historical extract rather than an ongoing feed.

Agreement with your treasury team about which balances count. This sounds like a formality and it is the most consequential item on the list, for the reason in the next section.

On the Snowflake side you need a warehouse, database, schema and a role able to create tables in that schema. Use a schema dedicated to treasury data, since it will end up with its own access controls and separating it now is easier than separating it later.

How do you build a Kyriba to Snowflake pipeline in Airbyte?

Step 1: Settle end of day versus intraday with finance

Ask your treasury team which figure they report on, and write the answer down. Both bank balances and cash balances are available as end of day and intraday streams, and the two will not agree with each other. Establishing which one your warehouse treats as authoritative is a finance decision that you are implementing rather than making.

Step 2: Configure the Kyriba source

Click Sources in the left navigation, then New Source, and select Kyriba, following adding a source. Enter your domain, the service account username and password, and the start date. Add an end date only if you want a bounded extract, because leaving it empty is what gives you an ongoing feed.

Step 3: Configure the Snowflake destination

Click Destinations, then New Destination, and select Snowflake, following adding a destination. Supply the account identifier, warehouse, database, schema and role with your authentication method. Airbyte creates one table per stream with its own metadata columns alongside your data.

Step 4: Take accounts alongside the balances

Click Connections, then New connection, and select streams with a sync mode each. Both full refresh and incremental are supported. Take the accounts stream alongside whichever balance streams you chose, because balance records reference accounts and without it you have figures you cannot attribute to a bank or an entity.

For financial data, favour keeping history rather than mirroring current state. You can always derive today's position from a record of every day, and never the reverse, and the question an auditor asks is more often what did this look like in March than what does it look like now.

Why does end of day versus intraday matter so much?

Because they answer different questions and the difference is invisible once the numbers are in a table. An end of day balance is the settled, reconciled figure for a closed day. An intraday balance is a provisional position that moves as transactions arrive, and the same account can show several different intraday values across a single day.

Both are correct for their purpose. End of day is what you reconcile and report against. Intraday is what a treasurer watches to decide whether to move money this afternoon. Load them into the same warehouse without distinguishing them and you have two sets of numbers that disagree, with nothing in the data explaining why.

So keep them in separate tables, name them unambiguously, and expose reporting views built on end of day unless someone has explicitly asked for intraday. Then tell your analysts which is which. On a dataset where the numbers are the entire point, that clarity is worth more than any configuration choice in this article.

What does basic authentication mean for operating this?

It means your pipeline depends on a password, and passwords expire. Most connectors in this series use an API key or token that lives until revoked, so a rotation policy is somebody else's problem. Here it is yours, and a sync that has run cleanly for months will fail the morning after a scheduled password change.

That is manageable if you plan for it. Use a service account whose rotation schedule you know, put the renewal in a calendar rather than trusting anyone to remember, and make sure the alert on a failed sync reaches someone who can act rather than an inbox nobody reads.

It also means the credentials are worth treating carefully. A treasury system login gives access to cash positions and bank account details, so the account behind this pipeline should have read access to what it needs and nothing more, and its existence should be known to whoever owns access reviews.

Frequently asked questions

Which streams does the Kyriba connector provide?

Accounts, bank balances in end of day and intraday forms, cash balances in the same two forms, and cash flows. Both full refresh and incremental sync modes are supported.

Why do my balance figures disagree with treasury's?

Most likely you are reporting intraday balances where they report end of day, or the two are mixed in one table. Keep them separate and build reporting views on the one finance treats as authoritative.

My sync suddenly started failing. What changed?

Check whether the account's password was rotated. The connector uses basic authentication, so a password change breaks it in a way an API token would not.

What is the end date field for?

It bounds the last date synced, which is optional. Leave it empty for an ongoing feed, or set it when you want a fixed historical extract for a specific period.

Can I do this without writing code?

Yes. The setup above is entirely UI-driven. You will want Snowflake views joining balances to accounts and exposing the authoritative balance type, which is short SQL.

Get your Kyriba data into Snowflake

Settle end of day versus intraday with your treasury team before configuring anything, use a service account and know its password rotation schedule, take the accounts stream alongside the balances, and keep history rather than mirroring current state. The technical setup here is small; the agreement about which numbers are authoritative is the actual work.

Airbyte's connector catalog includes 600+ pre-built connectors, so treasury data can sit beside your ERP and billing sources in one warehouse. For finance data from a different system, see NetSuite to Snowflake, and for the commercial side of the same picture, Salesforce to Snowflake.

Start syncing now →

Integrate with 700+ apps using Airbyte

Move data from 700+ sources into warehouses, lakes, and beyond. Set up pipelines in minutes with pre-built connectors and the Connector Builder.