Tax Planner

Developer(s): Herman Geschwind
Date: 1982
Type: Program
Platform(s): TS 2068

Plan your taxes for 1983. Might be able to update for the present.

Gallery

Source Code

    1 REM TAX ***PLANER***
    2 REM ...COPYRIGHT..1982.....
    3 REM ...BY..H.GESCHWIND.....
  100 REM ***INITIALIZE***
  110 DIM D$(26,18)
  120 DIM S(26)
  130 DIM T(26)
  135 LET M$="PRESS ANY KEY TO CONTINUE"
  140 LET P$="ENTER"
  150 LET X$="--------------------------------"
  160 LET Y$=" 1982"
  170 LET Z$=" 1983"
  180 LET V$="INCOME"
  190 LET W$="DEDUCTIONS"
  195 LET H$="---->"
  200 LET S=0
  210 LET M=0
  220 LET N=0
  225 LET F$="   ENTER FILING STATUS:-->1 FOR SINGLE,-->2 FOR MARRIED,-->3 FORMARRIED FILING SEPARATELY"
  240 GO SUB 1000
  499 REM ***MENU***
  500 PRINT AT 3,6;"     TAX PLANNER"
  510 PRINT AT 6,4;"-->PRESS DESIRED FUNCTION"
  520 PRINT AT 8,6;"1. ENTER VALUES"
  525 PRINT AT 9,6;"2. REVIEW RESULTS"
  530 PRINT AT 10,6;"3. CLEAR DATA"
  570 PRINT AT 11,6;"4. SAVE DATA"
  580 PRINT AT 12,6;"5. ENTER 1983 VALUES ONLY"
  590 PAUSE 4E4
  600 LET K$=INKEY$
  610 IF K$<"1" OR K$>"5" THEN GO TO 690
  620 IF K$="1" THEN GO TO 3000
  622 IF K$="2" THEN GO TO 6000
  624 IF K$="3" THEN GO TO 2000
  626 IF K$="4" THEN GO TO 4000
  627 IF K$="5" THEN GO TO 3500
  690 GO TO 500
  998 STOP 
  999 REM ***DESCRIPTIONS***
 1000 CLS 
 1005 PRINT AT 21,5;"LOADING DESCRIPTIONS"
 1020 LET D$(1)="SALARIES, WAGES"
 1021 LET D$(2)="DIVIDENDS"
 1022 LET D$(3)="INTEREST INCOME"
 1023 LET D$(4)="NET BUS. INCOME"
 1024 LET D$(5)="OTHER GAINS/LOSSES"
 1025 LET D$(7)="PENSIONS,ANNUITIES"
 1026 LET D$(8)="RENTS, ROYALTIES"
 1027 LET D$(9)="PARTNERSJIP INC."
 1028 LET D$(10)="TRUST/ESTATE INC."
 1029 LET D$(11)="CHAPTER""S""CORP."
 1030 LET D$(12)="OTHER INCOME"
 1031 LET D$(13)="INCOME CREDITS(*)"
 1032 LET D$(14)="ADJ. GROSS INCOME"
 1034 LET D$(15)="MEDICAL EXPENSES"
 1035 LET D$(16)="TAXES"
 1036 LET D$(17)="CONTRIBUTIONS"
 1037 LET D$(18)="INTEREST EXPENSES"
 1038 LET D$(19)="CASUALTY LOSS,MISC."
 1039 LET D$(20)="TOTAL DEDUCTIONS"
 1040 LET D$(21)="ZERO BRACKET"
 1041 LET D$(22)="NET DEDUCTIONS"
 1042 LET D$(23)="INC.BEF.EXEMPTIONS"
 1043 LET D$(24)="EXEMPTIONS"
 1044 LET D$(25)="TAXABLE INCOME"
 1045 LET D$(26)="INCOME TAX"
 1050 CLS 
 1060 RETURN 
 1998 STOP 
 1999 REM ***CLEAR***
 2000 CLS 
 2010 PRINT AT 6,4;"-->PRESS DESIRED FUNCTION"
 2020 PRINT AT 8,6;"1. DELETE 1982 VALUES"
 2030 PRINT AT 9,6;"2. DELETE 1983 VALUES"
 2050 PAUSE 4E4
 2060 LET K$=INKEY$
 2070 IF K$<"1" OR K$>"2" THEN GO TO 2090
 2072 IF K$="1" THEN GO TO 2100
 2074 IF K$="2" THEN GO TO 2300
 2090 GO TO 2010
 2100 DIM S(26)
 2101 LET S=0
 2105 CLS 
 2110 GO TO 500
 2300 DIM T(26)
 2301 LET S=0
 2305 CLS 
 2310 GO TO 500
 2999 REM ***82 VALUES***
 3000 CLS 
 3001 LET M=0
 3002 LET N=0
 3003 LET I=0
 3005 PRINT F$
 3006 INPUT S
 3007 IF S<1 OR S>3 THEN GO TO 3005
 3008 CLS 
 3010 FOR I=1 TO 13
 3015 PRINT AT 10,(31-LEN V$)/2;V$
 3016 PRINT X$
 3020 PRINT P$
 3025 PRINT D$(I)+" FOR "+Y$
 3030 INPUT S(I)
 3035 IF S(13) THEN LET S(13)=-1*S(13)
 3036 PRINT H$; S(I)
 3037 PAUSE 180
 3038 CLS 
 3039 LET M=M+S(I)
 3040 NEXT I
 3041 LET S(14)=M
 3042 LET M=0
 3050 PRINT AT 10,(31-LEN W$)/2;W$
 3051 PRINT X$
 3052 PRINT P$+" FULL AMOUNT OF MEDICAL     INSURANCE PREMIUMS"
 3053 INPUT I
 3054 PRINT H$;I
 3055 PAUSE 180
 3056 CLS 
 3058 LET I=I/2
 3060 IF I>150 THEN LET I=150
 3062 PRINT AT 10,(31-LEN W$)/2;W$
 3064 PRINT X$
 3066 PRINT P$
 3068 PRINT D$(15)+" FOR "+Y$
 3102 INPUT N
 3103 PRINT H$;N
 3104 LET M=INT (3/100*S(14)+.5)
 3105 LET S(15)=N-M
 3106 IF S(15)<=0 THEN LET S(15)=0+I
 3107 LET M=0
 3108 LET N=0
 3109 CLS 
 3110 FOR I=16 TO 19
 3111 PRINT AT 10,(31-LEN W$)/2;W$
 3112 PRINT X$
 3120 PRINT P$
 3125 PRINT D$(I)+" FOR "+Y$
 3130 INPUT S(I)
 3140 PRINT H$;S(I)
 3150 PAUSE 180
 3160 CLS 
 3170 LET M=M+S(I)
 3180 NEXT I
 3185 IF S(15) AND S(16)=0 AND S(18)=0 AND S(19)=0 THEN LET S(17)=S(17)/4
 3190 LET S(20)=M+S(15)
 3192 IF S(15)=0 AND S(16)=0 AND S(18)=0 AND S(19)=0 THEN LET S(2)=S(17)
 3195 LET M=0
 3200 IF S=1 THEN LET S(21)=2300
 3205 IF S=2 THEN LET S(21)=3400
 3210 IF S=3 THEN LET S(21)=1700
 3215 IF S=3 THEN LET S=1
 3220 LET S(22)=S(20)-S(21)
 3225 IF S(22)<=0 THEN LET S(22)=0
 3230 LET S(23)=S(14)-S(22)
 3240 PRINT "ENTER NUMBER OF EXEMPTIONS"
 3250 INPUT M
 3255 IF M<1 THEN LET M=1
 3260 LET S(24)=M*1000
 3265 LET M=0
 3270 LET S(25)=S(23)-S(24)
 3275 CLS 
 3280 GO SUB 5000
 3499 REM ***83 VALUES***
 3500 CLS 
 3501 LET M=0
 3502 LET N=0
 3503 LET I=0
 3505 PRINT F$
 3506 INPUT S
 3507 IF S<1 OR S>3 THEN GO TO 3505
 3508 CLS 
 3510 FOR I=1 TO 13
 3515 PRINT AT 10,(31-LEN V$)/2;V$
 3516 PRINT X$
 3520 PRINT P$
 3525 PRINT D$(I)+" FOR "+Z$
 3538 INPUT T(I)
 3539 IF T(13) THEN LET T(13)=-1*T(13)
 3540 PRINT H$;T(I)
 3550 PAUSE 180
 3560 CLS 
 3570 LET N=N+T(I)
 3580 NEXT I
 3590 LET T(14)=N
 3595 LET N=0
 3596 PRINT AT 10,(31-LEN W$)/2;W$
 3597 PRINT X$
 3598 PRINT P$
 3599 PRINT D$(15)+" FOR "+Z$
 3602 INPUT N
 3603 PRINT H$;N
 3604 LET M=INT (5/100*T(14)+.5)
 3605 LET T(15)=N-M
 3606 IF T(15)<=0 THEN LET T(15)=0
 3607 LET M=0
 3608 LET N=0
 3609 CLS 
 3610 FOR I=16 TO 19
 3611 PRINT AT 10,(31-LEN W$)/2;W$
 3612 PRINT X$
 3620 PRINT P$
 3625 PRINT D$(I)+" FOR "+Z$
 3630 INPUT T(I)
 3640 PRINT H$;T(I)
 3650 PAUSE 180
 3660 CLS 
 3670 LET N=N+T(I)
 3680 NEXT I
 3685 IF T(15)=0 AND T(16)=0 AND T(18)=0 AND T(19)=0 THEN LET T(17)=T(17)/4
 3690 LET T(20)=N+T(15)
 3692 IF T(15)=0 AND T(16)=0 AND T(18)=0 AND T(19)=0 THEN LET T(20)=T(17)
 3695 LET N=0
 3700 IF S=1 THEN LET T(21)=2300
 3705 IF S=2 THEN LET T(21)=3400
 3710 IF S=3 THEN LET T(21)=1700
 3715 IF S=3 THEN LET S=1
 3717 LET M=0
 3718 LET N=0
 3720 LET T(22)=T(20)-T(21)
 3725 IF T(22)<=0 THEN LET T(22)=0
 3730 LET T(23)=T(14)-T(22)
 3740 PRINT "ENTER NUMBER OF EXEMPTIONS"
 3750 INPUT M
 3755 IF M<1 THEN LET M=1
 3760 LET T(24)=M*1000
 3765 LET M=0
 3770 LET T(25)=T(23)-T(24)
 3780 GO SUB 5500
 3785 GO TO 500
 3990 STOP 
 3999 REM ***SAVE***
 4000 CLS 
 4020 PRINT AT 8,7;"PREPARE RECORDER"
 4030 PRINT AT 10,3;M$
 4040 PAUSE 4E4
 4050 CLS 
 4060 SAVE "TAX PLANNER"
 4070 GO TO 500
 4999 REM ***82 TABLE***
 5000 CLS 
 5010 IF S=1 THEN LET B=13
 5011 IF S=2 THEN LET B=12
 5040 DIM A(B)
 5050 DIM B(B)
 5060 DIM C(B)
 5065 PRINT AT 21,0;"LOADING TAX TABLE"
 5070 FOR I=1 TO B
 5075 GO SUB 6900
 5080 NEXT I
 5350 GO TO 5399
 5361 STOP 
 5399 REM ***82 CALC***
 5400 LET S(26)=0
 5420 IF S(25)<A(1) THEN RETURN 
 5430 FOR E=2 TO B
 5440 IF S(25)<A(E) THEN GO TO 5460
 5450 NEXT E
 5460 LET E=E-1
 5470 LET S(26)=INT ((B(E)+(S(25)-A(E))*C(E)/100)+.5)
 5480 LET B=0
 5490 RETURN 
 5491 STOP 
 5500 CLS 
 5510 REM ***83 TABLE***
 5535 LET B=13
 5540 DIM D(B)
 5550 DIM E(B)
 5560 DIM F(B)
 5565 PRINT AT 21,0;"LOADING TAX TABLE"
 5570 FOR I=1 TO B
 5580 GO SUB 7400
 5690 NEXT I
 5770 GO TO 5800
 5771 STOP 
 5799 REM ***83 CALC***
 5800 LET T(26)=0
 5810 IF T(25)<D(1) THEN RETURN 
 5820 FOR E=2 TO B
 5830 IF T(25)<D(E) THEN GO TO 5860
 5840 NEXT E
 5860 LET E=E-1
 5870 LET T(26)=INT ((E(E)+(T(25)-D(E))*F(E)/100)+.5)
 5890 LET B=0
 5895 CLS 
 5900 GO TO 500
 5999 REM ***PRINT RESULTS***
 6000 CLS 
 6010 PRINT V$;TAB 20;Y$;TAB 27;Z$
 6015 PRINT X$
 6020 FOR I=1 TO 13
 6022 PRINT D$(I);
 6024 LET V=S(I)
 6026 LET C=24
 6028 GO SUB 9500
 6030 LET V=T(I)
 6032 LET C=31
 6034 GO SUB 9500
 6035 NEXT I
 6040 PRINT X$
 6042 PRINT D$(14);
 6044 LET V=S(14)
 6046 LET C=24
 6048 GO SUB 9500
 6050 LET V=T(14)
 6051 LET C=31
 6052 GO SUB 9500
 6053 PRINT AT 21,0;M$
 6055 IF INKEY$="" THEN GO TO 6055
 6056 IF INKEY$="Z" THEN COPY 
 6059 CLS 
 6060 PRINT W$;TAB 20;Y$;TAB 27;Z$
 6062 PRINT X$
 6064 FOR I=15 TO 19
 6066 PRINT D$(I);
 6068 LET V=S(I)
 6070 LET C=24
 6072 GO SUB 9500
 6074 LET V=T(I)
 6076 LET C=31
 6078 GO SUB 9500
 6080 NEXT I
 6100 PRINT X$
 6110 FOR I=20 TO 26
 6120 PRINT D$(I);
 6130 LET V=S(I)
 6140 LET C=24
 6150 GO SUB 9500
 6160 LET V=T(I)
 6170 LET C=31
 6180 GO SUB 9500
 6185 PRINT X$
 6200 NEXT I
 6890 PRINT AT 21,3;M$
 6892 IF INKEY$="" THEN GO TO 6892
 6894 IF INKEY$="Z" THEN COPY 
 6896 CLS 
 6897 GO TO 500
 6900 REM ***82 TAX***
 6910 IF S=1 THEN GO TO 7000
 6920 IF S=2 THEN GO TO 7200
 6925 RETURN 
 7000 LET A(1)=2500
 7001 LET A(2)=3400
 7002 LET A(3)=4400
 7003 LET A(4)=6500
 7004 LET A(5)=8500
 7005 LET A(6)=10800
 7006 LET A(7)=12900
 7007 LET A(8)=15000
 7008 LET A(9)=18200
 7009 LET A(10)=23500
 7010 LET A(11)=28800
 7011 LET A(12)=34100
 7012 LET A(13)=41500
 7013 LET B(1)=0
 7014 LET B(2)=132
 7015 LET B(3)=272
 7016 LET B(4)=608
 7017 LET B(5)=948
 7018 LET B(6)=1385
 7019 LET B(7)=1847
 7020 LET B(8)=2330
 7021 LET B(9)=3194
 7022 LET B(10)=4837
 7023 LET B(11)=6692
 7024 LET B(12)=8812
 7025 LET B(13)=12068
 7026 LET C(1)=12
 7027 LET C(2)=14
 7028 LET C(3)=16
 7029 LET C(4)=17
 7030 LET C(5)=19
 7031 LET C(6)=22
 7032 LET C(7)=23
 7033 LET C(8)=27
 7034 LET C(9)=31
 7035 LET C(10)=35
 7036 LET C(11)=40
 7037 LET C(12)=44
 7038 LET C(13)=50
 7199 RETURN 
 7200 LET A(1)=3400
 7201 LET A(2)=5500
 7202 LET A(3)=7600
 7203 LET A(4)=11900
 7204 LET A(5)=16000
 7205 LET A(6)=20200
 7206 LET A(7)=24600
 7207 LET A(8)=29900
 7208 LET A(9)=35200
 7209 LET A(10)=45800
 7210 LET A(11)=60000
 7212 LET A(12)=85600
 7213 LET B(1)=0
 7214 LET B(2)=252
 7215 LET B(3)=546
 7216 LET B(4)=1234
 7217 LET B(5)=2013
 7218 LET B(6)=2937
 7219 LET B(7)=4037
 7220 LET B(8)=5574
 7221 LET B(9)=7323
 7222 LET B(10)=11457
 7223 LET B(11)=17705
 7224 LET B(12)=30249
 7225 LET C(1)=12
 7226 LET C(2)=14
 7227 LET C(3)=16
 7228 LET C(4)=19
 7229 LET C(5)=22
 7230 LET C(6)=25
 7231 LET C(7)=29
 7232 LET C(8)=33
 7233 LET C(9)=39
 7234 LET C(10)=44
 7235 LET C(11)=49
 7236 LET C(12)=50
 7299 RETURN 
 7400 REM 83 TAX
 7410 IF S=1 THEN GO SUB 7500
 7420 IF S=2 THEN GO SUB 7600
 7425 RETURN 
 7500 LET D(1)=2300
 7501 LET D(2)=3400
 7502 LET D(3)=4400
 7503 LET D(4)=8500
 7504 LET D(5)=10800
 7505 LET D(6)=12900
 7506 LET D(7)=15000
 7507 LET D(8)=18200
 7508 LET D(9)=23500
 7509 LET D(10)=28800
 7510 LET D(11)=34100
 7511 LET D(12)=41500
 7512 LET D(13)=55300
 7513 LET E(1)=0
 7514 LET E(2)=121
 7515 LET E(3)=251
 7516 LET E(4)=866
 7517 LET E(5)=1257
 7518 LET E(6)=1656
 7519 LET E(7)=2097
 7520 LET E(8)=2865
 7521 LET E(9)=4349
 7522 LET E(10)=6045
 7523 LET E(11)=7953
 7524 LET E(12)=10913
 7525 LET E(13)=17123
 7527 LET F(1)=11
 7528 LET F(2)=13
 7529 LET F(3)=15
 7530 LET F(4)=17
 7531 LET F(5)=19
 7532 LET F(6)=21
 7533 LET F(7)=24
 7534 LET F(8)=28
 7535 LET F(9)=32
 7536 LET F(10)=36
 7537 LET F(11)=40
 7538 LET F(12)=45
 7539 LET F(13)=50
 7598 RETURN 
 7600 LET D(1)=3400
 7601 LET D(2)=5500
 7602 LET D(3)=7600
 7603 LET D(4)=11900
 7604 LET D(5)=16000
 7605 LET D(6)=20200
 7606 LET D(7)=24600
 7607 LET D(8)=29900
 7608 LET D(9)=35200
 7609 LET D(10)=45800
 7610 LET D(11)=60000
 7611 LET D(12)=27278
 7612 LET D(13)=109400
 7613 LET E(1)=0
 7614 LET E(2)=231
 7615 LET E(3)=504
 7616 LET E(4)=1149
 7617 LET E(5)=1846
 7618 LET E(6)=2644
 7619 LET E(7)=3656
 7620 LET E(8)=5034
 7621 LET E(9)=6624
 7622 LET E(10)=10334
 7623 LET E(11)=16014
 7624 LET E(12)=27278
 7625 LET E(13)=38702
 7626 LET F(1)=11
 7627 LET F(2)=13
 7628 LET F(3)=15
 7629 LET F(4)=17
 7630 LET F(5)=19
 7631 LET F(6)=23
 7632 LET F(7)=26
 7633 LET F(8)=30
 7634 LET F(9)=35
 7635 LET F(10)=40
 7636 LET F(11)=44
 7637 LET F(12)=48
 7638 LET F(13)=50
 7639 RETURN 
 7999 STOP 
 9500 REM ***JUSTIFY***
 9510 LET XL=INT (ABS V+.005)*SGN V
 9540 LET J$=STR$ XL
 9550 PRINT TAB (C-LEN J$+1);J$;
 9560 RETURN 
Scroll to Top