Save Transactions from Google Sheets
The Bkper Add-on for Google Sheets allows you to create new transactions and update existing ones directly from your spreadsheet. Whether you're uploading bank data, syncing invoices, or bulk-editing transactions you previously fetched from Bkper, the Save tab handles it all.
Quick Start
Open the Bkper Add-on sidebar and follow these steps:
Select the Book where you want to save the transactions
Select Transactions on the Save tab
Select the cells containing your transaction data
Press the Save button
Each selected row generates one transaction in Bkper. Successfully saved rows are highlighted in green.
Using Column Headers
Freezing the first row of your Google Sheet unlocks powerful features. Column headers tell the Add-on how to interpret your data.
To freeze the first row: View > Freeze > 1 row
System Columns
The Add-on recognizes these column headers:
Column Header | Description |
Date | Transaction date |
Amount | Transaction amount |
Origin / From / Credit Account | The origin (credit) account |
Destination / To / Debit Account | The destination (debit) account |
Description | Transaction description |
Attachment | URL to attachment |
Id | Remote ID for deduplication |
BookId | Target Book ID (overrides selected Book in the sidebar) |
Transaction Id | Existing transaction ID (for updates) |
Status | Transaction state - read-only |
Recorded at / Created at | Creation timestamp - read-only |
Balance | Account balance - read-only |
When both Origin/From and Destination/To accounts are provided along with an Amount, the transaction is complete and is Posted directly to your Book. Otherwise, it is saved as a draft.
Remote ID
A reference to the original identifier from another system or Bkper Book (such as a bank transaction number, invoice ID, or another Book's transaction ID). Bkper uses Remote IDs to prevent duplicates - if a transaction with the same Remote ID already exists, it won't be created again.
Custom Properties
Any column header that is not a system column becomes a Custom Property key. Custom Properties are useful for storing structured (meta) data that Bots and Apps can process.
For example, a column titled "quantity" would set a custom property quantity on each transaction with the corresponding cell value.
Saving New vs Updating Existing Transactions
The Add-on determines whether to create a new transaction or update an existing one based on the Transaction Id column:
Transaction Id Column | Action |
Empty or missing | Creates a new transaction |
Contains an existing ID | Updates the existing transaction |
This enables a powerful workflow for bulk editing:
Fetch transactions from Bkper to your Sheet (using the Fetch tab)
Edit the data directly in your spreadsheet (amounts, descriptions, properties, etc.)
Save the changes back to Bkper - the Add-on updates each transaction by its Transaction Id
When updating transactions, the following columns are read-only and will be ignored: Transaction Id, Status, Recorded at, Created at, and Balance.
Notes
Timezone alignment: Ensure your Book and Google Sheet use the same timezone. Mismatched timezones can cause date discrepancies (d-1 or d+1).
Filtered rows: When saving from a filtered Sheet, all rows in the selection are processed - including hidden rows, not just visible ones.
Duplicate IDs: If you include an Id column (Remote ID), the Add-on will flag duplicate values in red to help you avoid creating duplicate transactions.
