home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / MBUG / MBUG022.ARC / TAX86.BAS < prev    next >
BASIC Source File  |  1979-12-31  |  13KB  |  372 lines

  1. 5 ' REPRODUCED FROM ''YOUR COMPUTER'' JUNE 1986
  2. 10 ' Copyright (C) 1986, Worthwords Pty Ltd.
  3. 20 ' Permission granted for personal, non-profit use on
  4. 30 ' the condition the lines 10 to 100 inclusive are
  5. 40 ' retained and executed as is and the disclaimer
  6. 50 ' carried in subroutine 500 is included.
  7. 60 PRINT : PRINT "______________________________"
  8. 70 PRINT "Income Tax  Calculator 1985/1986"
  9. 80 PRINT "Copyright, Worthwords Pty Ltd"
  10. 90 PRINT "______________________________
  11. 100 PRINT : INPUT "Hit RETURN to get started.....";X$
  12. 110 CLS$=CHR$(26)
  13. 120 DEFDBL A-Z
  14. 130 FALSE% = 0: TRUE% = NOT FALSE%
  15. 135 PROV%=FALSE%
  16. 140 GOSUB 500
  17. 150 GOSUB 1000
  18. 160 GOSUB 300
  19. 170 GOSUB 2000
  20. 180 GOSUB 3000
  21. 190 GOSUB 3500
  22. 200 PRINT CLS$;TAB(10):INPUT "Any other Calculations, (Y/N)  ";ANS$
  23. 210 IF LEFT$(ANS$,1)="N" OR LEFT$(ANS$,1)="n" THEN SYSTEM
  24. 220 RUN 
  25. 297 '
  26. 298 ' work out appropriate tax rate depending on income
  27. 299 '
  28. 300 IF TI>34999! THEN GOSUB 35000
  29. 310 IF (TI>27999 AND TI<35000!) THEN GOSUB 28000
  30. 320 IF (TI>19499 AND TI<28000) THEN GOSUB 19500
  31. 330 IF (TI>12499 AND TI<19500) THEN GOSUB 12500
  32. 340 IF (TI>4594  AND TI<12500) THEN GOSUB 4595
  33. 350 IF TI<4595 THEN GOSUB 4000
  34. 360 RETURN
  35. 497 '
  36. 498 ' explain ourselves
  37. 499 '
  38. 500 PRINT CLS$
  39. 530 PRINT : PRINT
  40. 540 PRINT "This 'ready reckoner' calculates the tax owed or refund due based"
  41. 550 PRINT "on your taxable income (as worked out on your 1985/86 return, after"
  42. 560 PRINT "deductions) and the tax already paid (either shown on your Group"
  43. 570 PRINT "Certificates, or remitted in Provisional Tax payments for the"
  44. 580 PRINT "you run the programme."
  45. 590 PRINT : PRINT
  46. 600 PRINT "The programme will take into account rebates available to you"
  47. 610 PRINT "and (where applicable) calculate provisional tax. However, it is"
  48. 650 PRINT "We offer this program as a guide only and will accept no"
  49. 660 PRINT "responsibility for its accuracy or applicability..."
  50. 670 PRINT : PRINT
  51. 680 PRINT "Do you have your Taxable Income and Tax Paid figures to hand"
  52. 690 INPUT "Enter (N)o to quit, any other key to continue";ANS$
  53. 700 IF ANS$="N" OR ANS$="n" THEN SYSTEM
  54. 710 RETURN
  55. 997 '
  56. 998 ' ask for total income, total tax paid, check if provisional applies
  57. 999 '
  58. 1000 PRINT CLS$
  59. 1010 PRINT : PRINT : PRINT
  60. 1040 PRINT TAB(20);"YC Income Tax Calculator 1986"
  61. 1050 PRINT TAB(20);"=============================="
  62. 1060 PRINT : PRINT
  63. 1070 PRINT TAB(15):INPUT "Total Income (from ALL sources)   ";TI
  64. 1080 PRINT
  65. 1090 PRINT TAB(15);      "Provisional Tax applies to any non-PAYE"
  66. 1100 PRINT TAB(15);      "income, such as contract work, investment"
  67. 1110 PRINT TAB(15);      "returns, and so on. Does this apply to"
  68. 1120 PRINT TAB(15):INPUT "any of your Taxable Income as shown above   ";ANS$
  69. 1130 IF LEFT$(ANS$,1)="Y" OR LEFT$(ANS$,1)="y" THEN GOSUB 1500
  70. 1140 PRINT
  71. 1150 PRINT TAB(15);"Tax Paid (shown on Group Certificate,"
  72. 1160 PRINT TAB(15):INPUT "tax stamps, or Provisional Tax payments)  ";TP
  73. 1170 RETURN
  74. 1497 '
  75. 1498 ' determine how much of income is subject to provisional tax
  76. 1499 '
  77. 1500 PRINT TAB(15):INPUT "Amount subject to provisional tax     ";PTI
  78. 1510 IF PTI>1000 THEN PROV% = TRUE%
  79. 1520 RETURN
  80. 1997 '
  81. 1998 ' check which rebates apply
  82. 1999 '
  83. 2000 REB = 0 : IN = 99
  84. 2010 DIM CH(11) :DIM MSG$(11): DIM RB(9)
  85. 2015 FOR I% = 1 TO 9: RB(I%) = 0  : NEXT I%
  86. 2020 FOR I% = 0 TO 11 : CH(I%) = FALSE% : NEXT I%
  87. 2030 MSG$(0) = " 0 - Exit"
  88. 2031 MSG$(1) = " 1 - Spouse"
  89. 2032 MSG$(2) = " 2 - Daughter-housekeeper"
  90. 2033 MSG$(3) = " 3 - Invalid relative"
  91. 2034 MSG$(4) = " 4 - Parent"
  92. 2035 MSG$(5) = " 5 - Housekeeper"
  93. 2036 MSG$(6) = " 6 - Sole Parent"
  94. 2037 MSG$(7) = " 7 - Pensioner"
  95. 2038 MSG$(8) = " 8 - Unemployment/sickness benefits"
  96. 2039 MSG$(9) = " 9 - Medical expenses exceeding $1000"
  97. 2040 MSG$(10) = " 10 - Home Loan Interest"
  98. 2041 MSG$(11) = " 11 - Zone Allowances"
  99. 2050 WHILE IN<>0
  100. 2060   PRINT CLS$
  101. 2070   PRINT:PRINT:PRINT
  102. 2080   PRINT TAB(10);"Select a rebate you qualify for:"
  103. 2090   PRINT
  104. 2100   FOR I% = 0 TO 11
  105. 2110      IF CH(I%)=FALSE% THEN PRINT TAB(15);MSG$(I%)
  106. 2120   NEXT I%
  107. 2130   PRINT
  108. 2140   PRINT TAB(15):INPUT "Select - ";IN
  109. 2150   IF IN=0 THEN RETURN
  110. 2160   IF (IN>11 OR CH(IN)<>FALSE%) THEN 2190
  111. 2170   CH(IN)=TRUE%
  112. 2180   ON IN GOSUB 2200,2200,2200,2200,2300,2400,2500,2600,2700,2800,2900
  113. 2190 WEND
  114. 2197 '
  115. 2198 ' spouse, daughter, relative or parent
  116. 2199 '
  117. 2200 PRINT : PRINT
  118. 2205 FOR I% = 1 TO 6: CH(I%)=TRUE% : NEXT I%
  119. 2210 PRINT TAB(10):INPUT "What is the dependant's separate net income ";SI
  120. 2220 PRINT TAB(10):INPUT "Do you also have a dependant child/student  ";CS$
  121. 2230 IF IN<3 THEN TMP=830
  122. 2240 IF IN=3 THEN TMP=376
  123. 2250 IF IN=4 THEN TMP=749
  124. 2260 IF SI>282 THEN GOSUB 2280
  125. 2265 RB(IN)=TMP
  126. 2270 IF LEFT$(CS$,1)="Y" OR LEFT$(CS$,1)="y" THEN RB(IN)=RB(IN)+200
  127. 2275 RETURN
  128. 2277 '
  129. 2278 'reduce rebate by $1 for every $4 separate net income >$282
  130. 2279 '
  131. 2280 SI=SI-282
  132. 2282 SI=INT(SI/4)
  133. 2284 TMP=TMP-SI
  134. 2286 IF TMP<0 THEN TMP=0
  135. 2288 RETURN
  136. 2297 '
  137. 2298 ' housekeeper
  138. 2299 '
  139. 2300 RB(IN)=830 : PRINT : PRINT
  140. 2305 FOR I%=1 TO 6: CH(I%)=TRUE% : NEXT I%
  141. 2310 PRINT TAB(10):INPUT "Do you also have a dependant child/student  ";CS$
  142. 2320 IF LEFT$(CS$,1)="y" OR LEFT$(CS$,1)="Y" THEN RB(IN)=RB(IN)+200
  143. 2330 RETURN
  144. 2397 '
  145. 2398 ' sole parent - unconditional rebate
  146. 2399 '
  147. 2400 RB(IN)=780
  148. 2405 FOR I% = 1 TO 6:CH(I%)=TRUE%: NEXT I%
  149. 2410 RETURN
  150. 2497 '
  151. 2498 ' pensioner gets $250 less 12.5c for every $1 income >$5595
  152. 2499 '
  153. 2500 TMP=250 : MAX = 5595
  154. 2510 GOSUB 2550
  155. 2520 RETURN
  156. 2547 '
  157. 2548 ' calculates sliding scale for pension and unemployed/sickness
  158. 2549 '
  159. 2550 T2=T1-MAX
  160. 2555 IF T2>TMP/.125 THEN RETURN
  161. 2560 IF T2<1 THEN RB(IN)=RB(IN)+TMP : RETURN
  162. 2565 RB(IN)=RB(IN)+(TMP-(T2*.125))
  163. 2570 RETURN
  164. 2597 '
  165. 2598 ' unemployed/sickness benefitss recipients (sliding scale like pension)
  166. 2599 '
  167. 2600 PRINT : PRINT
  168. 2610 PRINT TAB(10):INPUT "Are you married (Y/N)  ";ANS$
  169. 2620 MAX=5275:TMP=170
  170. 2630 IF LEFT$(ANS$,1)="Y" OR LEFT$(ANS$,1)="y" THEN MAX=8795:TMP=220
  171. 2640 GOSUB 2550
  172. 2650 RETURN
  173. 2697 '
  174. 2698 ' 30% of net medical expenses >$1000 are rebated
  175. 2699 '
  176. 2700 PRINT : PRINT
  177. 2710 PRINT TAB(10);"Net Medical expenses (i.e after Medicare and insurance"
  178. 2720 PRINT TAB(10);"refunds are subject to rebate if they exceed $1000"
  179. 2730 PRINT TAB(10);"By how much do your expenses exceed $1000"
  180. 2740 PRINT TAB(10):INPUT "(Enter 0 to exit)                               ";NM
  181. 2750 IF NM>0 THEN RB(IN)=NM*.3
  182. 2760 RETURN
  183. 2797 '
  184. 2798 ' home loan interest rebate is npow a rarity. only advise it is available
  185. 2799 '
  186. 2800 PRINT : PRINT
  187. 2810 PRINT TAB(10);"Home loan interest rebate is applicable the first five"
  188. 2820 PRINT TAB(10);"years of owner/occupancy of sole or principal residence."
  189. 2830 PRINT TAB(10);"It is limited to first occupation dates between"
  190. 2840 PRINT TAB(10);"June 1977 and october 1983. This must be calculated"
  191. 2850 PRINT TAB(10);"manually if it applies to you...."
  192. 2860 PRINT
  193. 2870 PRINT TAB(10);"Hit RETURN to continue......";TMP$
  194. 2880 RETURN
  195. 2896 '
  196. 2897 ' zone allowance apply to remote areas. people to whom
  197. 2898 ' it applies usually know it
  198. 2899 '
  199. 2900 PRINT : PRINT : PRINT
  200. 2910 PRINT TAB(10);"The following Zone rebates apply for 1985/1986. Please"
  201. 2915 PRINT TAB(10);CALCULATE THESE MANUALLY IF THEY APPLY TO YOU. NOTE"
  202. 2920 PRINT TAB(10);"the percentage figure quoted is to be added to any"
  203. 2925 PRINT TAB(10);DEPENDANT, HOUSEKEPER OR SOLE PARENT REBATES YOU"
  204. 2930 PRINT TAB(10);"qualify for."
  205. 2935 PRINT : PRINT
  206. 2940 PRINT TAB(10);"Ordinary Zone A - $270 plus 50 per cent"
  207. 2945 PRINT TAB(10);" Special Zone A - $938 plus 50 per cent"
  208. 2950 PRINT TAB(10);"Ordinary Zone B - $ 45 plus 20 per cent"
  209. 2955 PRINT TAB(10);" Special Zone B - $938 plus 20 per cent"
  210. 2960 PRINT TAB(1);"Defence Force   - Same as Ordinary Zone A"
  211. 2965 PRINT : PRINT : PRINT
  212. 2970 PRINT TAB(10):INPUT "Hit RETURN to continue.....";TMP$
  213. 2980 RETURN
  214. 2997 '
  215. 2998 ' calculate tax, medicare levy
  216. 2999 '
  217. 3000 TAX=BTAX+(XTRA*MRGN)
  218. 3010 '
  219. 3020 MEDI=TI*.01
  220. 3030 RETURN
  221. 3497 '
  222. 3498 ' show the result
  223. 3499 '
  224. 3500 PRINT CLS$
  225. 3505 FMT$="##,###.##"
  226. 3510 PRINT : PRINT : PRINT
  227. 3520 PRINT TAB(15);"Taxable Income                        -   $";
  228. 3522 PRINT USING FMT$;TI
  229. 3525 PRINT
  230. 3530 PRINT TAB(15);"Tax Payable                           -   $";
  231. 3531 PRINT USING FMT$;TAX
  232. 3533 PRINT TAB(15);"Medicare Levy                         -   $";
  233. 3534 PRINT USING FMT$;MEDI
  234. 3536 TAX=TAX+MEDI
  235. 3540 PRINT
  236. 3545 PRINT TAB(15);"Less:"
  237. 3550 PRINT TAB(15);"     Tax Paid                         -   $";
  238. 3553 PRINT USING FMT$;TP
  239. 3555 PRINT TAB(15);"Rebates:"
  240. 3560 FOR I%=1 TO 9
  241. 3561   SPC$="                                          "
  242. 3562   MSG$(I%)=LEFT$(RIGHT$(MSG$(I%),LEN(MSG$(I%))-5)+SPC$,33)
  243. 3565   IF RB(I%)>0 THEN PRINT TAB(20);MSG$(I%);"-   $";
  244. 3567   IF RB(I%)>0 THEN PRINT USING FMT$;RB(I%)
  245. 3570 REB=REB+RB(I%)
  246. 3572 NEXT I%
  247. 3575 PRINT TAB(15);"Total Credits:                        -   $";
  248. 3577 PRINT USING FMT$;REB+TP
  249. 3580 PRINT
  250. 3585 IF PROV%=TRUE% THEN GOSUB 3800
  251. 3590 PRINT : PRINT TAB(15);
  252. 3600 AMT = TAX-(TP+REB)
  253. 3610 IF AMT<0 THEN PRINT "Your refund will be                   -   $";
  254. 3615 IF AMT<0 THEN PRINT USING FMT$;-AMT
  255. 3620 IF AMT=>0 THEN PRINT "You will have to pay                   -  $";
  256. 3625 IF AMT>=0 THEN PRINT USING FMT$;AMT
  257. 3630 PRINT : PRINT
  258. 3640 PRINT TAB(15):INPUT "Hit P to Print, any other key to continue ";ANS$
  259. 3645 IF LEFT$(ANS$,1)="P" OR LEFT$(ANS$,1)="p" THEN GOSUB 3870
  260. 3650 RETURN
  261. 3797 '
  262. 3798 ' provisional tax payable for next year (at current +11%)
  263. 3799 '
  264. 3800 OTAX=TAX: OTI=TI : OMRGN=MRGN : OMEDI=MEDI : OTP=TP : OREB=REB
  265. 3803 TI=OTI*1.11       'total income + 11%
  266. 3806 GOSUB 300         'work out tax scale for new rate
  267. 3809 GOSUB 3000        'calculate tax on new amount
  268. 3812 BIGTAX=TAX+MEDI   'total tax payable on new amount
  269. 3815 TI=(OTI-PTI)*1.11 'PAYE compnent for next year (i.e +11%)
  270. 3816 GOSUB 300         'work out tax scale for PAYE amount
  271. 3818 GOSUB 3000        'calc tax on PAYE amount
  272. 3819 PROVTAX=BIGTAX-TAX-MEDI  'difference is the provisional amount    
  273. 3820 ' so far this program ignores the potential rebates which could
  274. 3821 ' apply to next years provisional tax. It could be calculated
  275. 3822 ' roughly using the next three lines which are based on taking a
  276. 3823 ' percentage of the current rebate amount equal to the percentage
  277. 3824 ' ratio of the current PAYE/provisional tax income.
  278. 3825 PROVPC=PROVTAX/BIGTAX    ' Approximate the pro-rata rebates
  279. 3826 PROVREB=REB*PROVPC       ' which could then be applied to prov tax
  280. 3827 PROVTAX=PROVTAX-PROVREB  ' <---- like this
  281. 3828 TAX=OTAX : TI=OTI : MRGN=OMRGN : MEDI=OMEDI : TP=OTP : REB=OREB
  282. 3829 TAX=TAX+PROVTAX
  283. 3830 PRINT TAB(15);"Add:"
  284. 3840 PRINT TAB(15);"     Provisional Tax Payabale         -   $";
  285. 3845 PRINT USING FMT$;PROVTAX
  286. 3850 PRINT
  287. 3860 RETURN
  288. 3870 LPRINT : LPRINT : LPRINT : LPRINT : LPRINT
  289. 3875 LPRINT TAB(17);"Your Computer Magazine Tax calculator for 1985/86"
  290. 3880 LPRINT TAB(17);"================================================="
  291. 3885 LPRINT : LPRINT : LPRINT
  292. 3890 LPRINT TAB(15);"Taxable Income                         -   $";
  293. 3895 LPRINT USING FMT$;TI
  294. 3900 LPRINT
  295. 3905 LPRINT TAB(15);"Tax Payable                            -   $";
  296. 3910 LPRINT USING FMT$;TAX-MEDI-PROVTAX
  297. 3912 LPRINT TAB(15);"Medicare Levy                          -   $";
  298. 3914 LPRINT USING FMT$;MEDI
  299. 3916 LPRINT
  300. 3918 LPRINT TAB(15);"Less:"
  301. 3920 LPRINT TAB(15);"      Tax Paid                         -   $";
  302. 3922 LPRINT USING FMT$;TP
  303. 3924 LPRINT TAB(15);"Rebates:"
  304. 3926 FOR I%=1 TO 9
  305. 3927   IF RB(I%)>0 THEN LPRINT TAB(21);MSG$(I%);"-   $";
  306. 3930   IF RB(I%)>0 THEN LPRINT USING FMT$;RB(I%)
  307. 3932 NEXT I%
  308. 3934 LPRINT TAB(15);"Total Credits:                         -   $";
  309. 3936 LPRINT USING FMT$;REB+TP
  310. 3938 LPRINT
  311. 3939 IF PROV% = TRUE% THEN GOSUB 3970
  312. 3940 LPRINT : LPRINT TAB(15);
  313. 3942 IF AMT<0 THEN LPRINT "Your refund will be                     -   $";
  314. 3944 IF AMT<0 THEN LPRINT USING FMT$;-AMT
  315. 3946 IF AMT>=0 THEN LPRINT "You will have to pay                   -   $";
  316. 3948 IF AMT>=0 THEN LPRINT USING FMT$;AMT
  317. 3950 LPRINT : LPRINT CHR$(12)
  318. 3960 RETURN
  319. 3970 LPRINT TAB(15);"Add:"
  320. 3975 LPRINT TAB(15);"      Provisional Tax payable          -   $";
  321. 3980 LPRINT USING FMT$;PROVTAX
  322. 3985 LPRINT
  323. 3990 RETURN
  324. 3997 '
  325. 3998 ' tax below $4,595 is nil
  326. 3999 '
  327. 4000 BTAX = 0
  328. 4010 BASE = 0
  329. 4020 XTRA=TI
  330. 4030 MRGN=0
  331. 4040 RETURN
  332. 4592 '
  333. 4593 ' tax on $4,559 is nil, marginal rate is 25%
  334. 4594 '
  335. 4595 BTAX=0
  336. 4605 BASE=4595
  337. 4615 XTRA=TI-BASE
  338. 4624 MRGN=.25
  339. 12497 '
  340. 12498 ' tax on $12500 is $1976.25. marginal rate is 30%
  341. 12499 '
  342. 12500 BTAX=1976.25
  343. 12510 BASE=12500
  344. 12520 XTRA=TI-BASE
  345. 12530 MRGN=.3
  346. 12540 RETURN
  347. 19497 '
  348. 19498 ' tax on $19500 is $4076.25. marginal rate is 46%
  349. 19499 '
  350. 19500 BTAX=4076.25
  351. 19510 BASE=19500
  352. 19520 XTRA=TI-BASE
  353. 19530 MRGN=.45
  354. 19540 RETURN
  355. 27997 '
  356. 27998 ' tax on $28000 is $7986.25. marginal rate is 60%
  357. 27999 '
  358. 28000 BTAX=7986.25
  359. 28010 BASE=28000
  360. 28020 XTRA=TI-BASE
  361. 28030 MRGN=.48
  362. 28040 RETURN
  363. 34997 '
  364. 34998 ' tax on $35000 is $11346.25
  365. 34999 '
  366. 35000 BTAX=11346.3
  367. 35010 BASE=35000!
  368. 35020 XTRA=TI-BASE
  369. 35030 MRGN=.6
  370. 35040 RETURN
  371. ' tax on $35000 is $11346.25
  372. 3