home *** CD-ROM | disk | FTP | other *** search
-
-
-
- * SALESTAX.CMD
- * This file summarizes the invoice file for a specified period.
- * It shows the invoices and the type of billing (taxable or
- * service) along with the totals for the two types and the total
- * sales tax liability for the period.
- * It also includes materials and equipment subject to use tax
- * that has not been paid. These are entered in the invoices database
- * when they come in as well as in the Postfile..
- USE Invoices
- ERASE
- ? 'This file summarizes the data you need to prepare the End-of-Quarter'
- ? 'report to the State Board of Equalization for SALES TAX collected by'
- ? 'the agency. It includes use tax on materials bought out of state or'
- ? 'bought with our resale number without paying a use tax.'
-
- STORE 'C' TO Dating
- DO WHILE !(Dating) = 'C'
- STORE 'YYMMDD' TO Start
- STORE 'YYMMDD' TO Finish
- @ 7,0 SAY 'This summary is for the period FROM ' GET Start
- @ 7,45 SAY 'TO ' GET Finish
- READ
- @ 9,0 SAY ' '
- ? ' C To CHANGE,'
- ? '<Return> To CONTINUE.'
- WAIT TO Dating
- @ 7,0
- ? CHR(27) + CHR(121)
- ENDDO Dating
-
- ERASE
- @ 5,10 SAY '***********DO NOT INTERRUPT*************'
- @ 7,10 SAY 'COMPUTING THE QUARTERLY SALES TAX REPORT'
- ?
- COPY TO Temp FIELDS Inv:Nmbr, Inv:Date,Taxable,Sales:Tax,TaxFree,Amount;
- FOR Inv:Date >= Start .AND. Inv:Date <= Finish
- USE Temp
- SORT ON Inv:Nmbr TO Temp2
- USE Temp2
- REPLACE Inv:Nmbr WITH ' USED ' FOR VAL(Inv:Nmbr) < 1000
-
- STORE $(Start,3,2)+'/'+$(Start,5,2)+'/'+$(Start,1,2) TO Start
- STORE $(Finish,3,2)+'/'+$(Finish,5,2)+'/'+$(Finish,1,2) TO Finish
-
- @ 5,0
- SET MARGIN TO 45
- SET PRINT ON
- STORE 1 to PageCnt
- ? 'SALES TAX SUMMARY FROM ' +Start+' TO '+Finish+': Page '+STR(PageCnt,3)
- ?
- ? 'INV# DATE TAXABLE TAX SERVICE TOTAL'
- ?
- STORE 0 to Count
- STORE 0 to PageMark
- GO TOP
- DO WHILE .NOT. EOF
- DISPLAY Inv:Nmbr,Inv:Date,Taxable,Sales:Tax,TaxFree,' '+STR(Amount,9,2) OFF
- STORE (Count + 1) TO Count
- SKIP
- IF Count=10
- STORE 0 TO Count
- * Inserts a space every ten records, then waits. The printer
- * is turned off so that "WAIT" does not print on the hardcopy.
- ?
- * The following routine prints 50 entries to a page,
- * then moves to the next page and prints a heading
-
- STORE (PgeMark + 1) TO PageMark
- IF PageMark = 5
- STORE 0 TO PageMark
- ? CHR(12)
- STORE (PageCnt + 1) TO PageCnt
-
- * Compensates for an offset caused by the 7 lines/inch printing
- IF INT(PageCnt/7) = PageCnt/7
- ?
- ENDIF
-
- ? 'SALES TAX SUMMARY FROM ' + Start + ' TO ' + Finish +': Page ' +;
- STR(PageCnt,3)
- ?
- ? 'INV# DATE TAXABLE TAX SERVICE TOTAL'
- ?
- ENDIF
- ENDIF
- ENDDO
- ?
- SET PRINT OFF
- ?
- ? ' COMPUTING TOTALS NOW.'
- ?
- REPLACE All Inv:Nmbr WITH ' ' FOR VAL(Inv:Nmbr) > 1000
- TOTAL ON Inv:Nmbr TO Other
- USE Other
- REPLACE All Inv:Date WITH 'TOTAL'
- REPLACE All Inv:Nmbr WITH 'SALES' FOR Inv:Nmbr = ' '
- SUM Taxable TO Used FOR Inv:Nmbr = ' USED '
- SUM Amount TO Sold
- STORE Sold + Used TO Gross
- SUM Sales:Tax TO Collected
- SUM TaxFree TO Service
- STORE Collected + Service TO Exempt
- STORE Gross - Exempt TO Subject
- STORE 0.06*Subject + 0.005 TO Payable
-
- * Print totals of all the invoices
- GO TOP
- SET PRINT ON
- DO WHILE .NOT. EOF
- DISPLAY Inv:Nmbr,Inv:Date,Taxable,Sales:Tax,TaxFree,' '+STR(Amount,9,2) OFF
- STORE Count + 1 TO Count
- SKIP
- ENDDO
- IF PageMaRk > 3
- * Formfeed if not enough room to print the following list
- ? CHR(12)
- ENDIF
- ?
- ?
- ? 'ENTER THE FOLLOWING DATA ON THE BOARD OF EQUALIZATION FORM:'
- ?
- * The following segment is not the final, but the state auditor is in right now
- * and I]ve got to get the info out to him and to the state for this month.
- * The final version will include all lines in the form, to allow for changes
- * in the way we do our business. Obviously, this is also the place to
- * print the form if you want to do that. Since the form is used only once
- * every three months, we won't automate it entirely.
-
- ? ' LINE 1> TOTAL GROSS SALES: ' + STR(Sold,9,2)
- ? ' LINE 2> SUBJECT TO USE TAX: ' + STR(Used,9,2)
- ? ' LINE 3> TOTAL TRANSACTIONS: ' + STR(Gross,9,2)
- ?
- ? ' LINE 9> SALES TAX INCLUDED: ' + STR(Collected,9,2)
- ? ' LINE 10> SERVICES: ' + STR(Service,9,2)
- ? ' LINE 11> TOTAL EXEMPTIONS: ' + STR(Exempt,9,2)
- ? ' LINE 12> SUBJECT TO STATE TAX: ' + STR(Subject,9,2)
- ? ' LINE 13> AMOUNT OF STATE TAX: ' + STR(0.05*Subject+0.005,9,2)
- ? ' LINE 14> SUBJECT TO LOCAL TAX: ' + STR(Subject,9,2)
- ?
- ? ' LINE 19> AMOUNT OF LOCAL TAX: ' + STR(0.01*Subject+0.005,9,2)
- ?
- ? ' LINE 21> TOTAL TAXES: ' + STR(Payable,9,2)
- ?
- ? ' LINE 28>TOTAL DUE AND PAYABLE: ' + STR(Payable,9,2)
- ? CHR(12)
- SET MARGIN TO 38
- SET PRINT OFF
-
- RELEASE ALL
- USE
- DELETE FILE Temp
- DELETE FILE Temp2
- DELETE FILE Other
- RETURN
-