module Datev class Contact < Base def self.bank_account(number) field "Bankleitzahl #{number}", :string, limit: 8 field "Bankbezeichnung #{number}", :string, limit: 30 field "Bankkonto-Nummer #{number}", :string, limit: 10 field "Länderkennzeichen #{number}", :string, limit: 2 # ISO-Code beachten (siehe Dok.-Nr. 1080169) field "IBAN #{number}", :string, limit: 34 field "Leerfeld #{number}", :string, limit: 1 field "SWIFT-Code #{number}", :string, limit: 11 # Beachten Sie, dass für Zahlung und Lastschriften bis zur Installation der Programm-DVD DATEV pro 8.3 (Januar 2015) BLZ und/oder BIC noch erforderlich sind. field "Abw. Kontoinhaber #{number}", :string, limit: 70 field "Kennz. Haupt-Bankverb. #{number}", :boolean # Kennzeichnung als Haupt-Bankverbindung # 1 = Ja # 0 = Nein # Nur eine Bankverbindung eines Debitoren oder Kreditoren kann als Haupt-Bankverbindung gekennzeichnet werden. field "Bankverb. #{number} Gültig von", :date, format: '%d%m%Y' field "Bankverb. #{number} Gültig bis", :date, format: '%d%m%Y' end # http://www.datev.de/dnlexom/client/app/index.html#/document/1036228/D103622800012 # 1 field 'Konto', :integer, limit: 9, required: true # Personen-Kontonummer (abhängig von der Information im Header) # Sachkontennummernlänge + 1 = Personenkontenlänge # 2 field 'Name (Adressatentyp Unternehmen)', :string, limit: 50 # Beim Import werden die Felder in der Datenbank gefüllt, auch wenn sie nicht dem Adressatentyp aus Feld 7 entsprechen. Das kann zu ungewollten Effekten im Programm führen. Bitte übergeben Sie nur die zum Adressatentyp passenden Felder. # 3 field 'Unternehmensgegenstand', :string, limit: 50 # 4 field 'Name (Adressatentyp natürl. Person)', :string, limit: 30 # 5 field 'Vorname (Adressatentyp natürl. Person)', :string, limit: 30 # 6 field 'Name (Adressatentyp keine Angabe)', :string, limit: 50 # 7 field 'Adressatentyp', :string, limit: 1 # 0 = keine Angabe # 1 = natürliche Person # 2 = Unternehmen # Standardwert = Unternehmen # 8 field 'Kurzbezeichnung', :string, limit: 15 # 9 field 'EU-Land', :string, limit: 2 # Die USt-IdNr. besteht aus # 2-stelligen Länderkürzel # (siehe Dok.-Nr. 1080169; Ausnahme Griechenland: Das Länderkürzel lautet EL) # 13-stelliger USt-IdNr. # Beachten Sie bitte, dass kein Leerzeichen zwischen diesen beiden Eingabewerten sein darf. # 10 field 'EU-USt-IdNr.', :string, limit: 13 # 11 field 'Anrede', :string, limit: 30 # 12 field 'Titel/Akad. Grad', :string, limit: 25 # Nur bei Adressatentyp "natürliche Person" relevant. # Wird der Titel/Akad.Grad bei einem Adressatentyp "Unternehmen" übergeben, wird der Wert in den Datenbestand übernommen, ist aber an der Oberfläche nicht sichtbar. # 13 field 'Adelstitel', :string, limit: 15 # Nur bei Adressatentyp "natürliche Person" relevant. # Wird der Adelstitel bei einem Adressatentyp "Unternehmen" übergeben, wird der Wert in den Datenbestand übernommen, ist aber an der Oberfläche nicht sichtbar. # 14 field 'Namensvorsatz', :string, limit: 14 # Nur bei Adressatentyp "natürliche Person" relevant. # Wird der Namensvorsatz bei einem Adressatentyp "Unternehmen" übergeben, wird der Wert in den Datenbestand übernommen, ist aber an der Oberfläche nicht sichtbar. # 15 field 'Adressart', :string, limit: 3 # STR = Straße # PF = Postfach # GK = Großkunde # Wird die Adressart nicht übergeben, wird sie automatisch in Abhängigkeit zu den übergebenen Feldern (Straße oder Postfach) gesetzt. # 16 field 'Straße', :string, limit: 36 # Wird sowohl eine Straße als auch ein Postfach übergeben, werden beide Werte in den Datenbestand übernommen; auf der Visitenkarte in den Debitoren-/Kreditoren-Stammdaten wird die Postfachadresse angezeigt. #17 field 'Postfach', :string, limit: 10 # 18 field 'Postleitzahl', :string, limit: 10 # 19 field 'Ort', :string, limit: 30 # 20 field 'Land', :string, limit: 2 # ISO-Code beachten! (Dok.-Nr. 1080169) # 21 field 'Versandzusatz', :string, limit: 50 # 22 field 'Adresszusatz', :string, limit: 36 # Beispiel: z. Hd. Herrn Mustermann # 23 field 'Abweichende Anrede', :string, limit: 30 # Es kann ein beliebiger individueller Text verwendet werden. # 24 field 'Abw. Zustellbezeichnung 1', :string, limit: 50 # 25 field 'Abw. Zustellbezeichnung 2', :string, limit: 36 # 26 field 'Kennz. Korrespondenzadresse', :boolean # 1= Kennzeichnung Korrespondenzadresse # 27 field 'Adresse Gültig von', :date, format: '%d%m%Y' # 28 field 'Adresse Gültig bis', :date, format: '%d%m%Y' # 29 field 'Telefon', :string, limit: 60 # Standard-Telefonnummer # 30 field 'Bemerkung (Telefon)', :string, limit: 40 # 31 field 'Telefon Geschäftsleitung', :string, limit: 60 # Geschäftsleitungs-Telefonnummer # 32 field 'Bemerkung (Telefon GL)', :string, limit: 40 # 33 field 'E-Mail', :string, limit: 60 # 34 field 'Bemerkung (E-Mail)', :string, limit: 40 # 35 field 'Internet', :string, limit: 60 # 36 field 'Bemerkung (Internet)', :string, limit: 40 # 37 field 'Fax', :string, limit: 60 # 38 field 'Bemerkung (Fax)', :string, limit: 40 # 39 field 'Sonstige', :string, limit: 60 # 40 field 'Bemerkung (Sonstige)', :string, limit: 40 # 41 bis 95 (1..5).each do |number| self.bank_account(number) end # 96 field 'Leerfeld 11', :integer, limit: 3 # 97 field 'Briefanrede', :string, limit: 100 # 98 field 'Grußformel', :string, limit: 50 # 99 field 'Kundennummer', :string, limit: 15 # Kann nicht geändert werden, wenn zentralisierte Geschäftspartner verwendet werden. # 100 field 'Steuernummer', :string, limit: 20 # 101 field 'Sprache', :integer, limit: 2 # 1 = Deutsch # 4 = Französisch # 5 = Englisch # 10 = Spanisch # 19 = Italienisch # 102 field 'Ansprechpartner', :string, limit: 40 # 103 field 'Vertreter', :string, limit: 40 # 104 field 'Sachbearbeiter', :string, limit: 40 # 105 field 'Diverse-Konto', :boolean # 0 = Nein # 1 = Ja # 106 field 'Ausgabeziel', :integer, limit: 1 # 1 = Druck  # 2 = Telefax # 3 = E-Mail # 107 field 'Währungssteuerung', :integer, limit: 1 # 0 = Zahlungen in Eingabewährung # 2 = Ausgabe in EUR # 108 field 'Kreditlimit (Debitor)', :integer, limit: 10 # Nur für Debitoren gültig # Beispiel: 1.123.123.123 # 109 field 'Zahlungsbedingung', :integer, limit: 3 # Eine gespeicherte Zahlungsbedingung kann hier einem Geschäftspartner zugeordnet werden. # 110 field 'Fälligkeit in Tagen (Debitor)', :integer, limit: 3 # Nur für Debitoren gültig # 111 field 'Skonto in Prozent (Debitor)', :decimal, precision: 4, scale: 2 # Nur für Debitoren gültig # Beispiel: 12,12 # 112 bis 120 (1..5).each do |number| if 3 == number field "Kreditoren-Ziel #{number} Brutto (Tage)", :integer, limit: 3 else field "Kreditoren-Ziel #{number} (Tage)", :integer, limit: 2 # Nur für Kreditoren gültig field "Kreditoren-Skonto #{number} (%)", :decimal, precision: 4, scale: 2 # Nur für Kreditoren gültig # Beispiel: 12,12 end end # 121 field 'Mahnung', :integer, limit: 1 # 0 = Keine Angaben # 1 = 1. Mahnung # 2 = 2. Mahnung # 3 = 1. + 2. Mahnung # 4 = 3. Mahnung # 5 = (nicht vergeben) # 6 = 2. + 3. Mahnung # 7 = 1., 2. + 3. Mahnung # 9 = keine Mahnung # 122 field 'Kontoauszug', :integer, limit: 1 # 1 = Kontoauszug für alle Posten # 2 = Auszug nur dann, wenn ein Posten mahnfähig ist # 3 = Auszug für alle mahnfälligen Posten # 9 = kein Kontoauszug field 'Mahntext', :integer, limit: 1 # Leer = keinen Mahntext ausgewählt # 1 = Textgruppe 1 # ... # 9 = Textgruppe 9 # 124 field 'Mahntext 2', :integer, limit: 1 # Leer = keinen Mahntext ausgewählt # 1 = Textgruppe 1 # ... # 9 = Textgruppe 9 # 125 field 'Mahntext 3', :integer, limit: 1 # Leer = keinen Mahntext ausgewählt # 1 = Textgruppe 1 # ... # 9 = Textgruppe 9 # 126 field 'Kontoauszugstext', :integer, limit: 1 # Leer = kein Kontoauszugstext ausgewählt # 1 = Kontoauszugstext 1 # ... # 8 = Kontoauszugstext 8 # 9 = Kein Kontoauszugstext # 127 field 'Mahnlimit Betrag', :decimal, precision: 7, scale: 2 # Beispiel: 12.123,12 # 128 field 'Mahnlimit %', :decimal, precision: 4, scale: 2 # Beispiel: 12,12 # 129 field 'Zinsberechnung', :integer, limit: 1 # 0 = MPD-Schlüsselung gilt # 1 = Fester Zinssatz # 2 = Zinssatz über Staffel # 9 = Keine Berechnung für diesen Debitor # 130 - 132 (1..3).each do |number| field "Mahnzinssatz #{number}", :decimal, precision: 4, scale: 2 # Beispiel: 12,12 end # 133 field 'Lastschrift', :string, limit: 1 # Leer bzw. 0 = keine Angaben, es gilt die MPD-Schlüsselung # 1 = Einzellastschrift mit einer Rechnung # 2 = Einzellastschrift mit mehreren Rechnungen # 3 = Sammellastschrift mit einer Rechnung # 4 = Sammellastschrift mit mehreren Rechnungen # 5 = Datenträgeraustausch mit einer Rechnung # 6 = Datenträgeraustausch mit mehreren Rechnungen # 7 = SEPA-Lastschrift mit einer Rechnung # 8 = SEPA-Lastschrift mit mehreren Rechnungen # 9 = kein Lastschriftverfahren bei diesem Debitor # 134 field 'Verfahren', :string, limit: 1 # 0 = Einzugsermächtigung # 1 = Abbuchungsverfahren # 135 field 'Mandantenbank', :integer, limit: 4 # Zuordnung der gespeicherten Mandantenbank, die für das Lastschriftverfahren verwendet werden soll. # 136 field 'Zahlungsträger', :string, limit: 1 # Leer bzw. 0 = keine Angaben, es gilt die MPD-Schlüsselung # 1 = Einzelüberweisung mit einer Rechnung # 2 = Einzelüberweisung mit mehreren Rechnungen # 3 = Sammelüberweisung mit einer Rechnung # 4 = Sammelüberweisung mit mehreren Rechnungen # 5 = Einzelscheck # 6 = Sammelscheck # 7 = SEPA-Überweisung mit einer Rechnung # 8 = SEPA-Überweisung mit mehreren Rechnungen # 9 = keine Überweisungen, Schecks # 137 bis 151 (1..15).each do |number| field "Indiv. Feld #{number}", :string, limit: 40 # 11 bis 15 wird derzeit nicht übernommen end # 152 field 'Abweichende Anrede (Rechnungsadresse)', :string, limit: 30 # Es kann ein beliebiger individueller Text verwendet werden. # 153 field 'Adressart (Rechnungsadresse)', :string, limit: 3 # STR = Straße  # PF = Postfach # GK = Großkunde # Wird die Adressart nicht übergeben, wird sie automatisch in Abhängigkeit zu den übergebenen Feldern (Straße oder Postfach) gesetzt. # 154 field 'Straße (Rechnungsadresse)', :string, limit: 36 # Wird sowohl eine Straße als auch ein Postfach übergeben, werden beide Werte in den Datenbestand übernommen; auf der Visitenkarte in den Debitoren-/Kreditoren-Stammdaten wird die Postfachadresse angezeigt. # 155 field 'Postfach (Rechnungsadresse)', :string, limit: 10 # 156 field 'Postleitzahl (Rechnungsadresse)', :string, limit: 10 # 157 field 'Ort (Rechnungsadresse)', :string, limit: 30 # 158 field 'Land (Rechnungsadresse)', :string, limit: 2 # ISO-Code beachten (siehe Dok.-Nr. 1080169) # 159 field 'Versandzusatz (Rechnungsadresse)', :string, limit: 50 # 160 field 'Adresszusatz (Rechnungsadresse)', :string, limit: 36 # Beispiel: z. Hd. Herrn Mustermann # 161 field 'Abw. Zustellbezeichnung 1 (Rechnungsadresse)', :string, limit: 50 # 162 field 'Abw. Zustellbezeichnung 2 (Rechnungsadresse)', :string, limit: 36 # 163 field 'Adresse Gültig von (Rechnungsadresse)', :date, format: '%d%m%Y' # 164 field 'Adresse Gültig bis (Rechnungsadresse)', :date, format: '%d%m%Y' # 165 bis 219 (6..10).each do |number| bank_account(number) end # 220 field 'Nummer Fremdsystem', :string, limit: 15 # Achtung: Wird bei Verwendung zentralisierter Geschäftspartner von DATEV überschrieben. # 221 field 'Insolvent', :boolean # 0 = Nein # 1 = Ja # 222 bis 231 (1..10).each do |number| field "SEPA-Mandatsreferenz #{number}", :string, limit: 35 # Sie können im Feld Mandatsreferenz dem Geschäftspartner je Bank eine Mandatsreferenz eintragen. Für eine korrekte Verwendung muss in der SEPA-Mandatsverwaltung die Mandatsreferenz für den Lastschriftteilnehmer vorhanden sein. end # 232 field 'Verknüpftes OPOS-Konto', :integer, limit: 9 # Sie können für den Geschäftspartner das korrespondierende Konto (im Kreditorenbereich) erfassen, wenn es sich bei dem Geschäftspartner sowohl um einen Kunden als auch um einen Lieferanten handelt. # --- Erweiterungen zur Jahreswechselversion 2015/2016 # 233 field 'Mahnsperre bis', :date, format: '%d%m%Y' # 234 field 'Lastschriftsperre bis', :date, format: '%d%m%Y' # 235 field 'Zahlungssperre bis', :date, format: '%d%m%Y' # 236 field 'Gebührenberechnung', :integer, limit: 1 # 0 = MPD-Schlüsselung gilt # 1 = Mahngebühr berechnen # 9 = Keine Berechnung für diesen Debitor # 237 bis 239 (1..3).each do |number| field "Mahngebühr #{number}", :decimal, precision: 4, scale: 2 # Beispiel: 12,12 end # 240 field 'Pauschalberechnung', :integer, limit: 1 # 0 = MPD-Schlüsselung gilt # 1 = Verzugspauschale berechnen # 9 = Keine Berechnung für diesen Debitor # 241 bis 243 (1..3).each do |number| field "Verzugspauschale #{number}", :decimal, precision: 5, scale: 2 # Beispiel: 12,12 end # 244 field 'Alternativer Suchname', :string, limit: 50 # 245 field 'Status', :integer, limit: 1 # 246 field 'Anschrift manuell geändert (Korrespondenzadresse)', :integer, limit: 1 # 247 field 'Anschrift individuell (Korrespondenzadresse)', :string, limit: 306 # 248 field 'Anschrift manuell geändert (Rechnungsadresse)', :integer, limit: 1 # 249 field 'Anschrift individuell (Rechnungsadresse)', :string, limit: 306 # 250 field 'Fristberechnung bei Debitor', :integer, limit: 1 # 0 = nein # 1 = ja # 251 bis 253 (1..3).each do |number| field "Mahnfrist #{number}", :integer, limit: 3 # Mahnfristen in Tagen end # 254 field 'Letzte Frist', :integer, limit: 3 # Mahnfristen in Tagen end end