Swiftpack.co - Nef10/SwiftBeanCountImporter as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
Nef10/SwiftBeanCountImporter
Library to transform transactions from financial institutions into Beancount files
.package(url: "https://github.com/Nef10/SwiftBeanCountImporter.git", from: "v0.2.1")

SwiftBeanCountImporter

CI Status Documentation percentage License: MIT Latest version platforms supported: linux | macOS | iOS | watchOS | tvOS SPM compatible

This project is part for SwiftBeanCount, please check out the main documentation here.

What

This is the importer of SwiftBeanCount. It reads files to create transactions. This library does not include any UI, so consumers need to provide a UI for selecting accounts, settings, as well as editing of transactions.

How to use

Import Transactions

  1. Create an Importer via one of the new functions on the ImporterFactory, depending on what you want to import.
  2. Set your delegate on the importer.
  3. Call load() on the importer.
  4. Call nextTransaction() to retrive transaction after transactions till it returns nil. It is recommended to allow the user the edit the transactions while doing this, as long as shouldAllowUserToEdit is true.
  5. If the user edits the transaction, and you offer and they accept to save the new mapping, call saveMapped(description:payee:accountName:).
  6. Get balancesToImport() and pricesToImport() from the importer.

Settings

There are settings for the date tolerance when detecting duplicate transactions, as well as for the mapping the user saved in step 5) of importing transactions. Your app can allow the user to view and edit these via the Settings object. Settings are by default stored in UserDefaults but you can bring your own SettingsStorage by setting Settings.storage.

Help

Each Importer provides a help text. You can access all importers via ImporterFactory.allImporters. They each expose an importerName and helpText on the class.

More

Please check out the complete documentation here, or have a look at the SwiftBeanCountImporterApp which uses this library.

Usage

The library supports the Swift Package Manger, so simply add a dependency in your Package.swift:

.package(url: "https://github.com/Nef10/SwiftBeanCountImporter.git", .exact("X.Y.Z")),

Note: as per semantic versioning all versions changes < 1.0.0 can be breaking, so please use .exact for now

GitHub

link
Stars: 0
Last commit: 23 hours ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Submit a free job ad (while I'm testing this). The analytics numbers for this website are here.

Release Notes

0.2.1 Swift Compatibility
2 days ago

Changes

🐛 Bug Fixes

  • Fix compatibility issue with Swift 5.3 and 5.2 @Nef10 (#111)

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics