root/trunk/projects/bos/web/spendenquittung.lisp

Revision 3671, 9.0 kB (checked in by ksprotte, 4 months ago)

again whitespace cleanup + removed tabs

  • Property svn:eol-style set to native
  • Property svn:keywords set to author date id revision
Line 
1 ;; 2008-01-15: currently not used in the production core
2
3 (in-package :typeset)
4
5 (defun datum-deutsch (&key (time (get-universal-time)))
6   (multiple-value-bind (sec min hour day month year weekday)
7       (decode-universal-time time)
8     (declare (ignore sec min hour weekday))
9     (format nil "~a. ~a ~a" day (nth (- month 1) '("Januar" "Februar" "März" "April" "Mai" "Juni"
10                                                    "Juli" "August" "September" "Oktober" "November" "Dezember")) year)))
11
12 (defun spendenquittung (&key
13                         name address amount
14                         signature-field)
15   (pdf:with-document ()
16     (pdf:with-page ()
17       (let ((content
18              (compile-text ()
19                            ;; Briefkopf
20                            (with-style (:font-size 10 :font "Times-Roman")
21                              (paragraph (:left-margin 200)
22                                         (with-style (:font-size 16)
23                                           "Borneo-Orang-Utan-Survival-Foundation")
24                                         :eol
25                                         (with-style (:font-size 11)
26                                           "Gruppe Deutschland e.V. (BOS Deutschland)" :eol
27                                           "Vereinssitz: Schöneberger Ufer 69, 10785 Berlin" :eol)
28                                         (vspace 15)
29                                         "Kassenwartin: Brigitte Götz, Stockholmstraße 27, 24109 Kiel" :eol
30                                         (hspace 70) "Tel. 0431 /527398; E-Mail: man.goetz@freenet.de" :eol)
31                              (vspace 2)
32                              (hrule :dy 1)
33                              (vspace 25)
34                              ;; Anschriftenfenster
35                              (paragraph (:left-margin 20)
36                                         (with-style (:font-size 8)
37                                           "Brigitte Götz, Stockholmstr. 27, 24109 Kiel")
38                                         (vspace 10)
39                                         name
40                                         (vspace 10)
41                                         (verbatim address))
42                              (vspace 100)
43                              (paragraph (:h-align :center :font-size 14)
44                                         "Bestätigung")
45                              (vspace 20)
46                              (paragraph ()
47                                         "über eine Zuwendung im Sinne des § 10 b des Einkommensteuergesetzes an eine der in § 5 Abs. 1 "
48                                         "Nr. 9 des Körperschaftssteuergesetzes bezeichneten Körperschaft.")
49                              (vspace 20)
50                              (with-style (:font-size 12)
51                                (paragraph ()
52                                           (table (:col-widths '(150 150) :border 0)
53                                                  (row ()
54                                                       (cell () (paragraph () "Art der Zuwendung:"))
55                                                       (cell () (paragraph () "Geldzuwendung")))
56                                                  (row ()
57                                                       (cell () (paragraph () "Betrag der Zuwendung:"))
58                                                       (cell () (paragraph () amount " Euro")))
59                                                  (row ()
60                                                       (cell () (paragraph () "Tag der Zuwendung:"))
61                                                       (cell () (paragraph () (put-string (datum-deutsch))))))))
62                              (vspace 20)
63                              (paragraph (:top-margin 10)
64                                         "Wir sind wegen der Förderung des Tier- und Naturschutzes nach dem letzten uns zugegangenen "
65                                         "Freistellungsbescheid des Finanzamtes Kiel-Nord, StNr 19 290 75041, vom 27.05.2003 für die "
66                                         "Jahre 2001-2002 nach § 5 Abs. 1 Nr. 9 des KStG von der Körperschaftssteuer und nach § 3 Nr. 6 "
67                                         "GewStG von der Gewerbesteuer befreit")
68                              (paragraph (:top-margin 10)
69                                         "Es wird bestätigt, dass die Zuwendung nur zur Förderung des Tier- und Naturschutzes im Sinne "
70                                         "der Anlage 1 - zu § 48 Abs. 2 EKStrDVO- Abschnitt A Nr. 11, 5 im Ausland verwendet wird.")
71                              (vspace 60)
72                              (if signature-field
73                                  (paragraph (:top-margin 10)
74                                             "Kiel, " (put-string (datum-deutsch)) "   ___________________________________________" :eol
75                                             (hspace 150) "Brigitte Götz")
76                                  (paragraph (:top-margin 10)
77                                             "Diese Spendenquittung ist ohne Unterschrift gültig"))
78                              (vspace 30)
79                              (paragraph (:font-size 8 :top-margin 10)
80                                         "Hinweis:" :eol
81                                         "Wer vorsätzlich oder grob fahrlässig eine unrichtige Zuwendungsbestätigung erstellt oder "
82                                         "wer veranlasst, dass Zuwendungen nicht zu den in der Zuwendungsbestätigung angegegeben "
83                                         "steuerbegünstigten Zwecken verwendet werden, haftet für die Steuer, die dem Fiskus durch "
84                                         "einen etwaigen Abzug der Zuwendungen beim Zuwendenden entgeht (§10b Abs. 4 EstG, § 9 Abs. 3 "
85                                         "KStG, § 8 Nr. 5 GewStG)." :eol
86                                         "Diese Bestätigung wird nicht als Nachweis für die steuerliche Berücksichtigung der Zuwendung "
87                                         "anerkannt, wenn das Datum des Freistellungsbescheides länger als 5 Jahre bzw. das Datum der "
88                                         "vorläufigen Bescheindung länger als 3 Jahre seit Ausstellung der Bestätigung zurückliegt "
89                                         "(BMF vom 15.12.1995 - BStBl I S. 884)")))))
90         (draw-block content 50 800 515 800)))
91     (with-output-to-string (s)
92       (pdf:write-document s))))
93
94 (in-package :bos.web)
95
96 (defvar *mail-sender-name* "BOS Deutschland e.V.")
97 (defvar *mail-sender-address* "spendenbescheinigung@bos-deutschland.de")
98 (defvar *mail-to-office-amount* 100)
99 (defvar *mail-quittung-text-format* "Sehr geehrte(r) ~a
100
101 anbei erhalten Sie Ihre Spendenbescheinigung für Ihren Quadratmeterkauf.
102
103 Vielen Dank für Ihre Unterstützung
104 BOS Deutchland e.V.
105
106 ")
107
108 (defun string-to-base64 (string)
109   (with-output-to-string (s)
110     (dolist (line (split "(?<=.{76})" (base64-encode string)))
111       (princ line s)
112       (terpri s))))
113
114 (defun mail-spendenquittung (&key amount name address email)
115   (warn "spendenquittung deaktiviert")
116   #+nil
117   (let* ((mail-to-office (>= amount *mail-to-office-amount*))
118          (mime (make-instance 'multipart-mime :type "multipart" :subtype "mixed"
119                                                                 :content (list (make-instance 'mime :type "text" :subtype "plain"
120                                                                                                                  :content (format nil *mail-quittung-text-format* name))
121                                                                                (make-instance 'mime :type "application" :subtype "pdf"
122                                                                                                                         :encoding "base64"
123                                                                                                                         :content (string-to-base64
124                                                                                                                                   (typeset::spendenquittung :amount amount
125                                                                                                                                                             :name name
126                                                                                                                                                             :address address
127                                                                                                                                                             :signature-field mail-to-office)))))))
128
129     (handler-case
130         (cl-smtp:with-smtp-mail (smtp "localhost" *mail-sender-address* email)
131           (format smtp "From: ~a <~a>~%To: ~a <~a>~%Subject: Ihre Spendenbescheinigung fÃŒr den Quadratmeterkauf~%"
132                   *mail-sender-name* *mail-sender-address*
133                   name email)
134           (with-output-to-string (s)
135             (print-mime s mime t nil)))
136       (error (e)
137         (warn "ignored error ~a while sending mail" e)))))
Note: See TracBrowser for help on using the browser.