home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky can.general:6321 ont.general:2432 soc.culture.canada:10219
- Newsgroups: can.general,ont.general,soc.culture.canada
- Path: sparky!uunet!uunet.ca!wildcan!sq!sherman
- From: dave@lsuc.on.ca (David Sherman)
- Subject: Re: 1993 income tax rates (combined federal/Ontario)
- Message-ID: <1993Jan22.045639.4481@sq.sq.com>
- Sender: sherman@sq.sq.com (David Sherman)
- Organization: The Law Society of Upper Canada
- References: <1993Jan20.151659.6958@sq.sq.com>
- Distribution: can
- Date: Fri, 22 Jan 93 04:56:39 GMT
- Lines: 110
-
- In article <1993Jan20.151659.6958@sq.sq.com> I wrote:
- >If there is interest, I can post the C source to a simple program
- >to calculate 1993 tax, as I did some time ago for 1992.
-
- I've had a number of requests for this, so here it is.
- The brackets are the same as for 1992, since inflation was less than 3%.
-
- /*
- * tax1993.c
- *
- * January 1993
- *
- * Calculate 1993 federal + Ontario tax from taxable income.
- * This program reflects the February 25, 1992 federal budget
- * and April 30, 1992 Ontario budget proposals.
- * NOTE: THE RATES MAY BE CHANGED BY THE EXPECTED SPRING 1993 ONTARIO BUDGET.
- *
- * David Sherman, BA, LLB, LLM
- * Tax Lawyer, Consultant & Author
- * dave@lsuc.on.ca
- * tel 416-889-7658 / fax 416-889-3246
- *
- * This program may be freely distributed as long as this
- * header information is included with it.
- */
-
- double atof();
- main(argc, argv)
- char **argv;
- {
- float tincome, basicfed, basicprov, fedsurtax, fedhighsurtax;
- float provsurtax, provhighsurtax, basicfedrate, basicprovrate;
- float margrate; /* marginal rate */
- float perscredit;
-
- tincome = atof(argv[1]);
- if(tincome <= 0)
- {
- printf("Can't calculate for income of $%.2f\n", tincome);
- exit(1);
- }
- printf("taxable income $%.2f\n", tincome);
-
- if(tincome <= 29590)
- {
- basicfed = tincome * .17;
- basicfedrate = .17;
- }
- else if(tincome <= 59180)
- {
- basicfed = 5030 + ((tincome - 29590) * .26);
- basicfedrate = .26;
- }
- else
- {
- basicfed = 12724 + ((tincome - 59180) * .29);
- basicfedrate = .29;
- }
-
- printf("initial basicfed $%.2f\n", basicfed);
-
- perscredit = 1098;
- printf("personal credit $%.2f\n", perscredit);
- basicfed -= perscredit;
- if(basicfed < 0) basicfed = 0;
- printf("basicfed after credit $%.2f\n", basicfed);
-
- basicprov = basicfed * .55;
- printf("basicprov $%.2f\n", basicprov);
- basicprovrate = basicfedrate * .55;
-
- margrate = basicfedrate + basicprovrate;
-
- fedsurtax = basicfed * .03;
- printf("fedsurtax $%.2f\n", fedsurtax);
- margrate += (basicfedrate * .03);
-
- if(basicfed > 12500)
- {
- fedhighsurtax = (basicfed - 12500) * .05;
- margrate += (basicfedrate * .05);
- }
- else
- fedhighsurtax = 0;
- printf("fedhighsurtax $%.2f\n", fedhighsurtax);
-
- if(basicprov > 8000)
- {
- provhighsurtax = (basicprov - 8000) * .06;
- margrate += basicprovrate * .06;
- }
- else
- provhighsurtax = 0;
- printf("provhighsurtax $%.2f\n", provhighsurtax);
-
- if(basicprov > 5500)
- {
- provsurtax = (basicprov - 5500) * .14;
- margrate += basicprovrate * .14;
- }
- else
- provsurtax = 0;
- printf("provsurtax $%.2f\n", provsurtax);
-
-
- printf("TOTAL TAX $%.2f\n", basicfed + basicprov
- + fedsurtax + provsurtax + fedhighsurtax + provhighsurtax);
- printf("marginal rate %f%%\n", margrate);
- }
-
-