home *** CD-ROM | disk | FTP | other *** search
/ Software Du Jour / SoftwareDuJour.iso / BUSINESS / DBASE / DBASEACC.ARC / SALESTAX.PRG < prev    next >
Text File  |  1979-12-31  |  5KB  |  159 lines

  1.  
  2.  
  3.  
  4. * SALESTAX.CMD
  5. * This file summarizes the invoice file for a specified period.
  6. *   It shows the invoices and the type of billing (taxable or
  7. * service) along with the totals for the two types and the total
  8. * sales tax liability for the period.
  9. *   It also includes materials and equipment subject to  use tax
  10. * that has not been paid.  These are entered in the invoices database
  11. * when they come in as well as in the Postfile..
  12. USE Invoices
  13. ERASE
  14. ? 'This file summarizes the data you need to prepare the End-of-Quarter'
  15. ? 'report to the State Board of Equalization for SALES TAX collected by'
  16. ? 'the agency.  It includes use tax on materials bought out of state or'
  17. ? 'bought with our resale number without paying a use tax.'
  18.  
  19. STORE 'C' TO Dating
  20. DO WHILE !(Dating) = 'C'
  21.     STORE 'YYMMDD' TO Start
  22.     STORE 'YYMMDD' TO Finish
  23.     @ 7,0 SAY 'This summary is for the period FROM ' GET Start
  24.     @ 7,45 SAY 'TO  ' GET Finish
  25.     READ
  26.     @ 9,0 SAY ' '
  27.     ? '    C To CHANGE,'
  28.     ? '<Return> To CONTINUE.'
  29.     WAIT TO Dating
  30.     @ 7,0
  31.     ? CHR(27) + CHR(121)
  32. ENDDO Dating
  33.  
  34. ERASE
  35. @ 5,10 SAY '***********DO NOT INTERRUPT*************'
  36. @ 7,10 SAY 'COMPUTING THE QUARTERLY SALES TAX REPORT'
  37. ?
  38. COPY TO Temp FIELDS Inv:Nmbr, Inv:Date,Taxable,Sales:Tax,TaxFree,Amount;
  39.   FOR Inv:Date >= Start .AND. Inv:Date <= Finish
  40. USE Temp
  41. SORT ON Inv:Nmbr TO Temp2
  42. USE Temp2
  43. REPLACE Inv:Nmbr WITH ' USED ' FOR VAL(Inv:Nmbr) < 1000
  44.  
  45. STORE $(Start,3,2)+'/'+$(Start,5,2)+'/'+$(Start,1,2) TO Start
  46. STORE $(Finish,3,2)+'/'+$(Finish,5,2)+'/'+$(Finish,1,2) TO Finish
  47.  
  48. @  5,0
  49. SET MARGIN TO 45
  50. SET PRINT ON
  51. STORE 1 to PageCnt
  52. ?  'SALES TAX SUMMARY FROM ' +Start+' TO '+Finish+':  Page '+STR(PageCnt,3)
  53. ?
  54. ?  'INV#    DATE    TAXABLE          TAX         SERVICE      TOTAL'
  55. ?
  56. STORE 0 to Count
  57. STORE 0 to PageMark
  58. GO TOP
  59. DO WHILE .NOT. EOF
  60.     DISPLAY Inv:Nmbr,Inv:Date,Taxable,Sales:Tax,TaxFree,' '+STR(Amount,9,2) OFF
  61.     STORE (Count + 1) TO Count
  62.     SKIP
  63.     IF Count=10
  64.  STORE 0 TO Count
  65.  * Inserts a space every ten records, then waits.  The printer
  66.  * is turned off so that "WAIT" does not print on the hardcopy.
  67.  ?
  68.  * The following routine prints 50 entries to a page,
  69.  * then moves to the next page and prints a heading
  70.  
  71.  STORE (PgeMark + 1) TO PageMark
  72.  IF PageMark = 5
  73.      STORE 0 TO PageMark
  74.      ? CHR(12)
  75.      STORE (PageCnt + 1) TO PageCnt
  76.  
  77.  * Compensates for an offset caused by the 7 lines/inch printing
  78.  IF INT(PageCnt/7) = PageCnt/7
  79.      ?
  80.  ENDIF
  81.  
  82.  ? 'SALES TAX SUMMARY FROM ' + Start + ' TO ' + Finish +': Page ' +;
  83.   STR(PageCnt,3)
  84.  ?
  85.  ? 'INV#     DATE     TAXABLE     TAX     SERVICE       TOTAL'
  86.  ?
  87.     ENDIF
  88. ENDIF
  89. ENDDO
  90. ?
  91. SET PRINT OFF
  92. ?
  93. ? '           COMPUTING TOTALS NOW.'
  94. ?
  95. REPLACE All Inv:Nmbr WITH ' ' FOR VAL(Inv:Nmbr) > 1000
  96. TOTAL ON Inv:Nmbr TO Other
  97. USE Other
  98. REPLACE All Inv:Date WITH 'TOTAL'
  99. REPLACE All Inv:Nmbr WITH 'SALES' FOR Inv:Nmbr = '    '
  100. SUM Taxable TO Used FOR Inv:Nmbr = '  USED '
  101. SUM Amount TO Sold
  102. STORE Sold + Used TO Gross
  103. SUM Sales:Tax TO Collected
  104. SUM TaxFree TO Service
  105. STORE Collected + Service TO Exempt
  106. STORE Gross - Exempt TO Subject
  107. STORE 0.06*Subject + 0.005 TO Payable
  108.  
  109. * Print totals of all the invoices
  110. GO TOP
  111. SET PRINT ON
  112. DO WHILE .NOT. EOF
  113.     DISPLAY Inv:Nmbr,Inv:Date,Taxable,Sales:Tax,TaxFree,' '+STR(Amount,9,2) OFF
  114.     STORE Count + 1 TO Count
  115.     SKIP
  116. ENDDO
  117. IF PageMaRk > 3
  118.     * Formfeed if not enough room to print the following list
  119.     ? CHR(12)
  120. ENDIF
  121. ?
  122. ?
  123. ? 'ENTER THE FOLLOWING DATA ON THE BOARD OF EQUALIZATION FORM:'
  124. ?
  125. * The following segment is not the final, but the state auditor is in right now
  126. * and I]ve got to get the info out to him and to the state for this month.
  127. * The final version will include all lines in the form, to allow for changes
  128. * in the way we do our business.  Obviously, this is also the place to
  129. * print the form if you want to do that.  Since the form is used only once
  130. * every three months, we won't automate it entirely.
  131.  
  132. ? '     LINE 1>     TOTAL GROSS SALES:  '   + STR(Sold,9,2)
  133. ? '     LINE 2>    SUBJECT TO USE TAX:  '   + STR(Used,9,2)
  134. ? '     LINE 3>    TOTAL TRANSACTIONS:  '   + STR(Gross,9,2)
  135. ?
  136. ? '     LINE 9>    SALES TAX INCLUDED:  '   + STR(Collected,9,2)
  137. ? '     LINE 10>             SERVICES:  '   + STR(Service,9,2)
  138. ? '     LINE 11>     TOTAL EXEMPTIONS:  '   + STR(Exempt,9,2)
  139. ? '     LINE 12> SUBJECT TO STATE TAX:  '   + STR(Subject,9,2)
  140. ? '     LINE 13>  AMOUNT OF STATE TAX:  '   + STR(0.05*Subject+0.005,9,2)
  141. ? '     LINE 14> SUBJECT TO LOCAL TAX:  '   + STR(Subject,9,2)
  142. ?
  143. ? '     LINE 19>  AMOUNT OF LOCAL TAX:  '   + STR(0.01*Subject+0.005,9,2)
  144. ?
  145. ? '     LINE 21>          TOTAL TAXES:  '   + STR(Payable,9,2)
  146. ?
  147. ? '     LINE 28>TOTAL DUE AND PAYABLE:  '   + STR(Payable,9,2)
  148. ? CHR(12)
  149. SET MARGIN TO 38
  150. SET PRINT OFF
  151.  
  152. RELEASE ALL
  153. USE
  154. DELETE FILE Temp
  155. DELETE FILE Temp2
  156. DELETE FILE Other
  157. RETURN
  158.  
  159.