Kreditorenbewegungen.sql 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. SELECT "Accounting Date",
  2. "Document Type",
  3. "Document Number",
  4. "Position In Document",
  5. "Nominal Account Number",
  6. "Customer Number",
  7. "Is Balanced",
  8. "Clearing Number",
  9. "Document Date",
  10. "Posted Value",
  11. "Debit Or Credit",
  12. "Posted Count",
  13. "Branch Number",
  14. "Customer Contra Account",
  15. "Nominal Contra Account",
  16. "Contra Account Text",
  17. "Account Form Page Number",
  18. "Account Form Page Line",
  19. "Serial Number Each Month",
  20. "Employee Number",
  21. "Invoice Date",
  22. "Invoice Number",
  23. "Dunning Level",
  24. "Last Dunning Date",
  25. "Journal Page",
  26. "Journal Line",
  27. "Cash Discount",
  28. "Term Of Payment",
  29. "Posting Text",
  30. "Vehicle Reference",
  31. "Vat Id Number",
  32. "Account Statement Number",
  33. "Account Statement Page",
  34. "Vat Key",
  35. "Days For Cash Discount",
  36. "Day Of Actual Accounting",
  37. "Skr51 Branch",
  38. "Skr51 Make",
  39. "Skr51 Cost Center",
  40. "Skr51 Sales Channel",
  41. "Skr51 Cost Unit",
  42. "Previously Used Account No",
  43. "Free Form Accounting Text",
  44. "Free Form Document Text",
  45. "Rechtseinheit",
  46. "Betrieb",
  47. "Accounting Date" AS "Bookkeep Date",
  48. "Text",
  49. '1' AS "Mandant",
  50. "Betrag",
  51. "Menge",
  52. "Nominal Account Number" AS "Acct Nr",
  53. "Customer Number_suctomer_supplier",
  54. "Is Supplier",
  55. "First Name",
  56. "Family Name",
  57. "Document Type In Journal",
  58. "Document Type Description",
  59. SUM("Betrag") OVER (PARTITION BY "Customer Number_suctomer_supplier") AS "Debitorsaldo_",
  60. "Invoice Type_Invoices",
  61. "Invoice Number_Invoices",
  62. "Subsidiary_Invoices",
  63. "Invoice Date_Invoices",
  64. "Rechtseinheit" AS "Hauptbetrieb",
  65. "Standort_ori",
  66. "Sel Name",
  67. "Betrag" AS "OP-Saldo",
  68. "Kostenstelle",
  69. "Tage",
  70. "Staffel",
  71. "Kunde",
  72. "Beleg",
  73. "Employee Number_Employees_journal_accountings",
  74. "Name_Employees_journal_accountings",
  75. "Anzahl_Stellen_Invoice_Number",
  76. "Forderungsart_aus_erste_Stelle_Inv_Number",
  77. "Forderungsart",
  78. "Standort_aus_2_Stelle_Invoice_Number",
  79. "Betrieb" AS "Standort",
  80. "Status Rechnung"
  81. FROM (
  82. SELECT T3."customer_number" AS "Customer Number_suctomer_supplier",
  83. CASE
  84. WHEN (T1."clearing_number" = 0)
  85. THEN ('offen')
  86. ELSE ('bezahlt')
  87. END AS "Status Rechnung",
  88. ((((T1."branch_number")))) AS "Betrieb",
  89. CASE
  90. WHEN (
  91. (((len(T1."invoice_number" + 'Z') - 1)) = 7)
  92. AND ((substring(T1."invoice_number", 2, 1)) BETWEEN '1' AND '4')
  93. )
  94. THEN ('0' + (substring(T1."invoice_number", 2, 1)))
  95. ELSE NULL
  96. END AS "Standort_aus_2_Stelle_Invoice_Number",
  97. CASE
  98. WHEN (
  99. (
  100. CASE
  101. WHEN (T5."invoice_type" IN (2, 4, 6, 3))
  102. THEN ('3')
  103. WHEN (T5."invoice_type" IN (5))
  104. THEN ('6')
  105. WHEN (T5."invoice_type" IN (7))
  106. THEN ('1')
  107. WHEN (T5."invoice_type" IN (8))
  108. THEN ('2')
  109. WHEN (T4."document_type_in_journal" = 'R')
  110. THEN ('7')
  111. ELSE NULL
  112. END
  113. ) = '1'
  114. )
  115. THEN ('Neuwagen')
  116. WHEN (
  117. (
  118. CASE
  119. WHEN (T5."invoice_type" IN (2, 4, 6, 3))
  120. THEN ('3')
  121. WHEN (T5."invoice_type" IN (5))
  122. THEN ('6')
  123. WHEN (T5."invoice_type" IN (7))
  124. THEN ('1')
  125. WHEN (T5."invoice_type" IN (8))
  126. THEN ('2')
  127. WHEN (T4."document_type_in_journal" = 'R')
  128. THEN ('7')
  129. ELSE NULL
  130. END
  131. ) = '2'
  132. )
  133. THEN ('Gebrauchtwagen')
  134. WHEN (
  135. (
  136. CASE
  137. WHEN (T5."invoice_type" IN (2, 4, 6, 3))
  138. THEN ('3')
  139. WHEN (T5."invoice_type" IN (5))
  140. THEN ('6')
  141. WHEN (T5."invoice_type" IN (7))
  142. THEN ('1')
  143. WHEN (T5."invoice_type" IN (8))
  144. THEN ('2')
  145. WHEN (T4."document_type_in_journal" = 'R')
  146. THEN ('7')
  147. ELSE NULL
  148. END
  149. ) = '3'
  150. )
  151. THEN ('Service')
  152. WHEN (
  153. (
  154. CASE
  155. WHEN (T5."invoice_type" IN (2, 4, 6, 3))
  156. THEN ('3')
  157. WHEN (T5."invoice_type" IN (5))
  158. THEN ('6')
  159. WHEN (T5."invoice_type" IN (7))
  160. THEN ('1')
  161. WHEN (T5."invoice_type" IN (8))
  162. THEN ('2')
  163. WHEN (T4."document_type_in_journal" = 'R')
  164. THEN ('7')
  165. ELSE NULL
  166. END
  167. ) = '6'
  168. )
  169. THEN ('Teile')
  170. ELSE ('nicht zuzuordnen')
  171. END AS "Forderungsart",
  172. CASE
  173. WHEN (
  174. (((len(T1."invoice_number" + 'Z') - 1)) = 7)
  175. AND ((left(T1."invoice_number", 1)) IN ('2', '3', '4'))
  176. )
  177. THEN ('Service')
  178. WHEN (
  179. (((len(T1."invoice_number" + 'Z') - 1)) = 7)
  180. AND ((left(T1."invoice_number", 1)) IN ('5'))
  181. )
  182. THEN ('Teile')
  183. WHEN (
  184. (((len(T1."invoice_number" + 'Z') - 1)) = 7)
  185. AND ((left(T1."invoice_number", 1)) IN ('6'))
  186. )
  187. THEN ('Garantie')
  188. WHEN (
  189. (((len(T1."invoice_number" + 'Z') - 1)) = 7)
  190. AND ((left(T1."invoice_number", 1)) IN ('7'))
  191. )
  192. THEN ('Neuwagen')
  193. WHEN (
  194. (((len(T1."invoice_number" + 'Z') - 1)) = 7)
  195. AND ((left(T1."invoice_number", 1)) IN ('8'))
  196. )
  197. THEN ('Gebrauchtwagen')
  198. WHEN (T1."document_type" = 'R')
  199. THEN ('Rent')
  200. ELSE ('nicht zuzuordnen')
  201. END AS "Forderungsart_aus_erste_Stelle_Inv_Number",
  202. (len(T1."invoice_number" + 'Z') - 1) AS "Anzahl_Stellen_Invoice_Number",
  203. T2."name" AS "Name_Employees_journal_accountings",
  204. T2."employee_number" AS "Employee Number_Employees_journal_accountings",
  205. CASE
  206. WHEN (T1."posting_text" IS NOT NULL)
  207. THEN ((left((((T1."document_number"))), 7)) + ' - ' + T1."posting_text" + ' - ' + (convert(VARCHAR(50), year(T1."document_date")) + '-' + convert(VARCHAR(50), month(T1."document_date")) + '-' + convert(VARCHAR(50), day(T1."document_date"))))
  208. ELSE ((convert(VARCHAR(50), year(T1."document_date")) + '-' + convert(VARCHAR(50), month(T1."document_date")) + '-' + convert(VARCHAR(50), day(T1."document_date"))))
  209. END AS "Beleg",
  210. ((left((((T3."customer_number"))), 7)) + ' - ' + T3."first_name" + ' ' + T3."family_name") AS "Kunde",
  211. CASE
  212. WHEN (((- 1 * datediff(day, (getdate()), (convert(DATETIME, T1."accounting_date"))))) BETWEEN 0 AND 14)
  213. THEN ('< 2 Wochen')
  214. WHEN (((- 1 * datediff(day, (getdate()), (convert(DATETIME, T1."accounting_date"))))) BETWEEN 15 AND 28)
  215. THEN ('2 - 4 Wochen')
  216. WHEN (((- 1 * datediff(day, (getdate()), (convert(DATETIME, T1."accounting_date"))))) BETWEEN 29 AND 42)
  217. THEN ('4 - 6 Wochen')
  218. WHEN (((- 1 * datediff(day, (getdate()), (convert(DATETIME, T1."accounting_date"))))) BETWEEN 43 AND 84)
  219. THEN ('6 - 12 Wochen')
  220. WHEN (((- 1 * datediff(day, (getdate()), (convert(DATETIME, T1."accounting_date"))))) > 84)
  221. THEN ('> 12 Wochen')
  222. ELSE NULL
  223. END AS "Staffel",
  224. (- 1 * datediff(day, (getdate()), (convert(DATETIME, T1."accounting_date")))) AS "Tage",
  225. CASE
  226. WHEN (T5."invoice_type" IN (2, 4, 6, 3))
  227. THEN ('3')
  228. WHEN (T5."invoice_type" IN (5))
  229. THEN ('6')
  230. WHEN (T5."invoice_type" IN (7))
  231. THEN ('1')
  232. WHEN (T5."invoice_type" IN (8))
  233. THEN ('2')
  234. WHEN (T4."document_type_in_journal" = 'R')
  235. THEN ('7')
  236. ELSE NULL
  237. END AS "Kostenstelle",
  238. (
  239. CASE
  240. WHEN (T1."debit_or_credit" = 'H')
  241. THEN (T1."posted_value" / 100)
  242. ELSE (T1."posted_value" / 100 * - 1)
  243. END
  244. ) AS "Betrag",
  245. (left((((T2."employee_number"))), 4)) + ' - ' + T2."name" AS "Sel Name",
  246. CASE
  247. WHEN (T5."subsidiary" IS NOT NULL)
  248. THEN ('0' + (left((((T5."subsidiary"))), 1)))
  249. ELSE ('nicht zuzuordnen')
  250. END AS "Standort_ori",
  251. T1."subsidiary_to_company_ref" AS "Rechtseinheit",
  252. T5."invoice_date" AS "Invoice Date_Invoices",
  253. T5."subsidiary" AS "Subsidiary_Invoices",
  254. T5."invoice_number" AS "Invoice Number_Invoices",
  255. T5."invoice_type" AS "Invoice Type_Invoices",
  256. T4."document_type_description" AS "Document Type Description",
  257. T4."document_type_in_journal" AS "Document Type In Journal",
  258. T3."family_name" AS "Family Name",
  259. T3."first_name" AS "First Name",
  260. T3."is_supplier" AS "Is Supplier",
  261. T1."nominal_account_number" AS "Nominal Account Number",
  262. CASE
  263. WHEN (T1."debit_or_credit" = 'H')
  264. THEN (T1."posted_count" / 100 * - 1)
  265. ELSE (T1."posted_count" / 100)
  266. END AS "Menge",
  267. ((rtrim((((T1."document_number"))))) + ' - ' + T1."invoice_number" + ' - ' + T1."posting_text" + '/' + T1."vehicle_reference" + ' - ' + ((left((((T2."employee_number"))), 4)) + ' - ' + T2."name") + ' - ' + (convert(VARCHAR(50), year(T1."document_date")) + '-' + convert(VARCHAR(50), month(T1."document_date")) + '-' + convert(VARCHAR(50), day(T1."document_date")))) AS "Text",
  268. T1."accounting_date" AS "Accounting Date",
  269. CASE
  270. WHEN (
  271. (
  272. (
  273. (
  274. (
  275. (((rtrim((((T1."document_number"))))) + ' - ' + T1."invoice_number" + ' - ' + T1."posting_text" + '/' + T1."vehicle_reference" + ' - ' + ((left((((T2."employee_number"))), 4)) + ' - ' + T2."name") + ' - ' + (convert(VARCHAR(50), year(T1."document_date")) + '-' + convert(VARCHAR(50), month(T1."document_date")) + '-' + convert(VARCHAR(50), day(T1."document_date"))))
  276. ) LIKE '%RG-BONUS%'
  277. )
  278. OR (
  279. (((rtrim((((T1."document_number"))))) + ' - ' + T1."invoice_number" + ' - ' + T1."posting_text" + '/' + T1."vehicle_reference" + ' - ' + ((left((((T2."employee_number"))))) + ' - ' + T2."name") + ' - ' + (convert(VARCHAR(50), year(T1."document_date")) + '-' + convert(VARCHAR(50), month(T1."document_date")) + '-' + convert(VARCHAR(50), day(T1."document_date"))))
  280. ) LIKE '%GEBURTSTAGS%'
  281. )
  282. )
  283. OR ((((rtrim((((T1."document_number"))))) + ' - ' + T1."invoice_number" + ' - ' + T1."posting_text" + '/' + T1."vehicle_reference" + ' - ' + ((left((((T2."employee_number"))))) + ' - ' + T2."name") + ' - ' + (convert(VARCHAR(50), year(T1."document_date")) + '-' + convert(VARCHAR(50), month(T1."document_date")) + '-' + convert(VARCHAR(50), day(T1."document_date"))))) LIKE '%STARTGUTHABEN%'
  284. )
  285. )
  286. OR ((((rtrim((((T1."document_number"))))) + ' - ' + T1."invoice_number" + ' - ' + T1."posting_text" + '/' + T1."vehicle_reference" + ' - ' + ((left((((T2."employee_number"))))) + ' - ' + T2."name") + ' - ' + (convert(VARCHAR(50), year(T1."document_date")) + '-' + convert(VARCHAR(50), month(T1."document_date")) + '-' + convert(VARCHAR(50), day(T1."document_date"))))) LIKE '%BONUS F%')
  287. )
  288. OR ((((rtrim((((T1."document_number"))))) + ' - ' + T1."invoice_number" + ' - ' + T1."posting_text" + '/' + T1."vehicle_reference" + ' - ' + ((left((((T2."employee_number"))))) + ' - ' + T2."name") + ' - ' + (convert(VARCHAR(50), year(T1."document_date")) + '-' + convert(VARCHAR(50), month(T1."document_date")) + '-' + convert(VARCHAR(50), day(T1."document_date"))))) LIKE '%RG-ABZUG%')
  289. )
  290. THEN ('Bonus/Startguthaben')
  291. ELSE ('ohne Bonus/Startguthaben')
  292. END AS "Free Form Document Text",
  293. T1."free_form_accounting_text" AS "Free Form Accounting Text",
  294. T1."previously_used_account_no" AS "Previously Used Account No",
  295. T1."skr51_cost_unit" AS "Skr51 Cost Unit",
  296. T1."skr51_sales_channel" AS "Skr51 Sales Channel",
  297. T1."skr51_cost_center" AS "Skr51 Cost Center",
  298. T1."skr51_make" AS "Skr51 Make",
  299. T1."skr51_branch" AS "Skr51 Branch",
  300. T1."day_of_actual_accounting" AS "Day Of Actual Accounting",
  301. T1."days_for_cash_discount" AS "Days For Cash Discount",
  302. T1."vat_key" AS "Vat Key",
  303. T1."account_statement_page" AS "Account Statement Page",
  304. T1."account_statement_number" AS "Account Statement Number",
  305. T1."vat_id_number" AS "Vat Id Number",
  306. T1."vehicle_reference" AS "Vehicle Reference",
  307. T1."posting_text" AS "Posting Text",
  308. T1."term_of_payment" AS "Term Of Payment",
  309. T1."cash_discount" AS "Cash Discount",
  310. T1."journal_line" AS "Journal Line",
  311. T1."journal_page" AS "Journal Page",
  312. T1."last_dunning_date" AS "Last Dunning Date",
  313. T1."dunning_level" AS "Dunning Level",
  314. T1."invoice_number" AS "Invoice Number",
  315. T1."invoice_date" AS "Invoice Date",
  316. T1."employee_number" AS "Employee Number",
  317. T1."serial_number_each_month" AS "Serial Number Each Month",
  318. T1."account_form_page_line" AS "Account Form Page Line",
  319. T1."account_form_page_number" AS "Account Form Page Number",
  320. T1."contra_account_text" AS "Contra Account Text",
  321. T1."nominal_contra_account" AS "Nominal Contra Account",
  322. T1."customer_contra_account" AS "Customer Contra Account",
  323. T1."branch_number" AS "Branch Number",
  324. T1."posted_count" AS "Posted Count",
  325. T1."debit_or_credit" AS "Debit Or Credit",
  326. T1."posted_value" AS "Posted Value",
  327. T1."document_date" AS "Document Date",
  328. T1."clearing_number" AS "Clearing Number",
  329. T1."is_balanced" AS "Is Balanced",
  330. T1."customer_number" AS "Customer Number",
  331. T1."position_in_document" AS "Position In Document",
  332. T1."document_number" AS "Document Number",
  333. T1."document_type" AS "Document Type"
  334. FROM (
  335. (
  336. (
  337. (
  338. "journal_accountings" T1 LEFT JOIN "LOCOSOFT"."dbo"."employees" T2 ON T1."employee_number" = T2."employee_number"
  339. ) LEFT JOIN "LOCOSOFT"."dbo"."customers_suppliers" T3 ON T3."customer_number" = T1."customer_number"
  340. ) LEFT JOIN "document_types" T4 ON T4."document_type_in_journal" = T1."document_type"
  341. ) LEFT JOIN "invoices" T5 ON T5."invtype_invnr" = T1."invoice_number"
  342. )
  343. WHERE (
  344. (
  345. (
  346. (T1."nominal_account_number" IN (1600, 1610))
  347. AND (T1."customer_number" IS NOT NULL)
  348. )
  349. AND (T3."customer_number" IS NOT NULL)
  350. )
  351. AND (T1."document_type" IN ('W', 'E', 'L'))
  352. )
  353. ) D1
  354. -- order by "Customer Number" asc,"Invoice Number" asc,"Document Type In Journal" asc,"Nominal Account Number" asc