--- title: "Household Finances" id: 76461 type: "computer_media" slug: "household-finances" url: "http://localhost/computer_media/household-finances/" markdown_url: "http://localhost/computer_media/household-finances.md" published_at: "2026-11-11T08:02:39+00:00" modified_at: "2026-11-11T08:02:39+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/11/household-finances-1.png" excerpt: "Keep track of a household's monthly income and spending in ten categories, with a statement for the month and the year to date." post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "TS 1000" slug: "ts1000" taxonomy: "post_tag" url: "http://localhost/tag/ts1000/" - name: "ZX81" slug: "zx81" taxonomy: "post_tag" url: "http://localhost/tag/zx81/" model: - name: "Sinclair ZX81" slug: "zx81" taxonomy: "model" url: "http://localhost/model/zx81/" - name: "Timex/Sinclair 1000" slug: "ts-1000" taxonomy: "model" url: "http://localhost/model/ts-1000/" indiv: - name: "James Holder" slug: "james-holder" taxonomy: "indiv" url: "http://localhost/indiv/james-holder/" genre: - name: "Finance" slug: "finance" taxonomy: "genre" url: "http://localhost/type/finance/" media_type: "Program" programmers: - name: "James Holder" slug: "james-holder" taxonomy: "indiv" url: "http://localhost/indiv/james-holder/" download_url: "https://archive.org/download/timex-sinclair-software-archive/Household%20Finances%20%281982%29%28Holder%2C%20James%29%28TS1000%29%28US%29%28Program%29.zip" mediadate: "1982" images: - url: "http://localhost/wp-content/uploads/2026/11/household-finances-1.png" article_media: - id: 65581 title: "Household Finances — 8K/16K" type: "article" url: "http://localhost/article/household-finances-8k-16k/" media_type_tags: "Finance" license: false --- # Household Finances Setup comes first, as the article explains: enter DIM A$(10,13) as a command, then GOTO 800 and type the names of your ten categories (eight expenses and two income); then delete lines 800-820 and start with GOTO 10, not RUN, which would clear the names. Use M and N to clear the month and year totals. Entries are a category letter followed by the amount, for example A9.95. K shows the current statement (CONT returns), and L saves the program with your data so it starts itself when loaded. It needs 16K. The download includes lines 800-820 so you can do the setup. Published in Syntax July 1982 ([Household Finances — 8K/16K](https://timexsinclair.com/article/household-finances-8k-16k/)). ## Source Code ``` 10 CLS 20 PRINT AT 2,6;"HOUSEHOLD FINANCES ";AT 4,0;"ENTER LETTER AND AMT. AS ""A9.95""";AT 6,2;"A=";A$(1);AT 6,14;"F=";A$(6);AT 7,2;"B=";A$(2);AT 7,14;"G=";A$(7);AT 8,2;"C=";A$(3);AT 8,14;"H=";A$(8);AT 9,2;"D=";A$(4);AT 9,14;"I=";A$(9);AT 10,2;"E=";A$(5);AT 10,14;"J=";A$(10);AT 12,7;"ENTER LETTER ONLY";TAB 2;"K=STATEMENT";TAB 14;"M=CLEAR MONTH";TAB 2;"L=SAVE";TAB 14;"N=CLEAR YEAR";AT 16,0;"INSURANCE BENEFITS ARE NEGATIVE.NEGATIVE BALANCE SHOWS BENEFITS EXCEED PREMIUMS." 30 INPUT Z$ 40 IF CODE Z$=48 THEN GOTO 120 50 IF CODE Z$=49 THEN GOTO 620 60 IF CODE Z$=50 THEN DIM A(10) 70 IF CODE Z$=51 THEN DIM B(10) 80 IF CODE Z$>47 THEN GOTO 30 90 LET A(CODE Z$-37)=A(CODE Z$-37)+VAL Z$(2 TO ) 100 LET B(CODE Z$-37)=B(CODE Z$-37)+VAL Z$(2 TO ) 110 GOTO 30 120 CLS 130 DIM M(2) 140 LET S=350 150 PRINT AT 2,6;"CURRENT STATEMENT ";AT 4,0;"CATEGORY";TAB 16;"MONTH";TAB 25;"YEAR" 160 LET T=5 170 FOR K=1 TO 10 180 LET M(1)=A(K) 190 LET M(2)=B(K) 200 PRINT AT T,0;A$(K);TAB 14;"$";TAB 19;".00 $";TAB 29;".00" 210 LET U=14 220 FOR J=1 TO 2 230 IF M(J)<0 THEN GOTO 250 240 IF M(J)<10000 THEN LET U=U+1 250 IF ABS M(J)<1000 THEN LET U=U+1 260 IF ABS M(J)<100 THEN LET U=U+1 270 IF ABS M(J)<10 THEN LET U=U+1 280 PRINT AT T,U;M(J) 290 LET U=24 300 NEXT J 310 LET T=T+1 320 IF K=8 OR S=460 OR S=540 THEN GOTO S 330 NEXT K 340 GOTO S 350 LET Q=0 360 LET R=0 370 FOR J=1 TO 8 380 LET Q=Q+A(J) 390 LET R=R+B(J) 400 NEXT J 410 LET S=460 420 PRINT AT T,0;"TOTAL EXPENSE";TAB 14;"$";TAB 19;".00 $";TAB 29;".00" 430 LET M(1)=Q 440 LET M(2)=R 450 GOTO 210 460 LET T=T+1 470 LET S=490 480 NEXT K 490 PRINT AT T,0;"TOTAL INCOME";TAB 14;"$";TAB 19;".00 $";TAB 29;".00" 500 LET M(1)=A(9)+A(10) 510 LET M(2)=B(9)+B(10) 520 LET S=540 530 GOTO 210 540 LET T=T+1 550 PRINT AT T,0;"PROFIT/LOSS";TAB 14;"$";TAB 19;".00 $";TAB 29;".00" 560 LET M(1)=A(9)+A(10)-Q 570 LET M(2)=B(9)+B(10)-R 580 LET S=600 590 GOTO 210 600 STOP 610 GOTO 10 620 CLS 630 PRINT AT 6,0;"PREPARE TO SAVE; START RECORDER RUNNING; TOUCH ""N/L""" 640 PAUSE 40000 650 SAVE "HOUSEHOLD FINANCES" 660 GOTO 10 800 FOR K=1 TO 10 810 INPUT A$(K) 820 NEXT K ```