Ejemplo n.º 1
0
def transfer_konten():
#    Konto.objects.all().delete()

    buchungen, konten = get_csv_tables(CSV_DATEI)

    exist_mwst = tuple([i[0] for i in MWST])

    dictlist = get_dictlist(konten, used_fieldnames=None)
    for line in dictlist:
#        pprint(line)
        datev_nummer = int(line['Konto'])
        konto_name = line['Listenname']

        mwst = None
        try:
            mwst_string = PROZ_RE.findall(konto_name)[0]
        except IndexError:
            pass
        else:
            mwst = int(mwst_string)
            if mwst in exist_mwst:
                print "MwSt: %s%%" % mwst

        try:
            konto = Konto.objects.get(datev_nummer=datev_nummer)
        except Konto.DoesNotExist:
            konto = Konto(
                datev_nummer=datev_nummer,
                name=konto_name,
                mwst=mwst,
            )
            add_message(konto, "Neues Konto aus MMS import")
            konto.save()
            print "Neues Konto erstellt:", konto
        else:
            print "Konto besteht schon:", konto
            must_save = False

            if konto_name != konto.name:
                print " *** andere Bezeichnung:"
                print konto_name, "!=", konto.name
                print "Setzte neuen Namen"
                konto.name = konto_name
                add_message(konto, "Neuer Konto Namen aus MMS import")
                konto.notizen += "\n neuer Konto namen aus MMS import"
                must_save = True

            if mwst != konto.mwst:
                print " *** andere MwSt.:"
                print mwst, "!=", konto.mwst
                print "setzte neue MwSt:"
                konto.mwst = mwst
                add_message(konto, "Neue MwSt.Satz aus MMS import")
                konto.notizen += "\n neue MwSt.Satz aus MMS import"
                must_save = True

            if must_save:
                konto.save()

        print "-" * 80
Ejemplo n.º 2
0
    def handle(self, filepath, **options):
        if not os.path.isfile(filepath):
            raise CommandError("Filepath %r doesn't exist." % filepath)

        self.verbosity = int(options.get("verbosity", 1))

        buchungen, konten = get_csv_tables(filepath)

        self._insert_konten(konten)

        self.status_bezahlt = Status.objects.get(bezeichnung="bezahlt")

        self._insert_buchungen(buchungen)
Ejemplo n.º 3
0
def transfer_buchungen():
#    Konto.objects.all().delete()

    buchungen, konten = get_csv_tables(CSV_DATEI)

    exist_mwst = tuple([i[0] for i in MWST])

    dictlist = get_dictlist(buchungen, used_fieldnames=None)
    for line in dictlist:
        kommentar = line["Kommentar"]
        print "_" * 79
#        pprint(line)
#        print " -"*40

        date_string = line["Datum"]
#        print "date_string:", date_string
        datum = datetime.strptime(date_string, "%d.%m.%Y").date()
#        datum = date.strptime(date_string, "%d.%m.%Y")

        raw_summe = line["Betrag"]
        summe = _get_decimal(raw_summe)

        konto_nr = int(line["Konto"])
#        print "konto_nr:", konto_nr, type(konto_nr)
        try:
            konto = Konto.objects.get(datev_nummer=konto_nr)
        except Konto.DoesNotExist, err:
            print "*" * 79
            print "Fehler: Konto unbekannt:", err
#            print "Erstelle neuen Eintrag!"
            return

        ggkto = line["GGKto"]
        if len(ggkto) > 4:
            # SteuerSchlüssel drin
            stsl_nr = int(ggkto[0])
            stsl = StSl.objects.get(id=stsl_nr)
#            print u"Steuerschlüssel:", stsl
            ggkto = ggkto[1:]
        else:
            stsl = None

        Gkonto_nr = int(ggkto)
        try:
            ggkto = Konto.objects.get(datev_nummer=Gkonto_nr)
        except Konto.DoesNotExist, err:
            print "*" * 79
            print "Fehler: GKonto unbekannt:", err
            return