Project

king_dtaus

0.03
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
DTA/DTAUS and DTAZV are text-based formats to create bank transfers for german banks. This gem creates DTA/DATAUS files for inner german credit and debit(Gutschrift/Lastschrift) transfers. It is also capable of creating DTAZV credit-files for transfers from Germany to European SEPA region.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 0.9.2
>= 0
>= 0

Runtime

>= 0
 Project Readme

DTAUS & DTAZV always comes together

Build Status

DTAUS & DTAZV are formats for German bank transfers and is short for "Datenträgeraustausch". The format itself totally sucks because it was established in the last century, to be used on floppy disks. Still almost all German banks use it (they only seem innovative at robbing), and it is therefore supported in common banking programs too.

This gem saves you all the trouble when generating DTAUS- or DTAZV-text.

We love building payment applications.

Install

gem install king_dtaus

Features

  • Create DTAUS debit transfer (Lastschrift)
  • Create DTAUS credit transfer (Gutschrift)
  • Create DTAZV debit transfer
  • 100% test coverage to ensure software quality
  • works with ruby 1.8 / 1.9 / 2.0

Version Info

Version 2 has breaking changes!

  • account attributes now passed in as hash
  • renamed account.client_xy => owner_xy
  • renamed account.account_number => bank_account_number
  • added iban/bic to account
  • DTAZV added

If you want to stay with v1 just pin it in your Gemfile:

gem "king_dtaus", "<2"

TODOs

  • some more edge-case tests needed, we need your feedback here!

Resources

Examples

Here are some examples how to create a DTA- or DTAZV-File. Also check out the spec/dtazv_test.rb to have a running example of an export.

DTA

# create a new dtaus object
dta = KingDta::Dtaus.new('LK')

# set sender account
dta.account = KingDta::Account.new(
                    :bank_account_number => "123456789",
                    :bank_number => "69069096",
                    :owner_name => "Return to Sender",
                    :bank_name => "Money Burner Bank")

# following should be done in a loop to add multiple bookings
# create receiving account
receiver = KingDta::Account.new(
                    :bank_account_number => "987456123",
                    :bank_number => "99099096",
                    :owner_name => "Gimme More Lt.",
                    :bank_name => "Banking Bandits")
# create booking
booking = KingDta::Booking.new(receiver, 100.00 )

# set booking text if you want to
booking.text = "Thanks for your purchase"

# add booking
dta.add( booking )
# end loop

# create datausstring and do with it whatever fits your workflow
my_str = dta.create

DTAZV

@dtazv = KingDta::Dtazv.new()

# sender account
@dtazv.account = KingDta::Account.new(
      :bank_account_number => "123456789",
      :bank_number => "40050100",
      :bank_name => "Greedy Fuckers Bank",
      :owner_name => "Sender name"
)

# receiver account
receiver = KingDta::Account.new(
      :bank_account_number => "987654321",
      :bank_iban => "PLsome-long-Iban",
      :bank_bic => "BicCode",
      :owner_name => "receivers name"
)

# add bookings, probably in a loop
booking = KingDta::Booking.new(receiver, 220.25)
@dtazv.add(booking)

# get output as string
@dtazv.create

also make sure to read the code and the specs

Credits

Bugfixes and enhancements by

Copyright (c) 2009-2011 Georg Leciejewski (SalesKing), Jan Kus (Railslove), released under the MIT license