home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / can / general / 6321 < prev    next >
Encoding:
Text File  |  1993-01-22  |  3.1 KB  |  124 lines

  1. Xref: sparky can.general:6321 ont.general:2432 soc.culture.canada:10219
  2. Newsgroups: can.general,ont.general,soc.culture.canada
  3. Path: sparky!uunet!uunet.ca!wildcan!sq!sherman
  4. From: dave@lsuc.on.ca (David Sherman)
  5. Subject: Re: 1993 income tax rates (combined federal/Ontario)
  6. Message-ID: <1993Jan22.045639.4481@sq.sq.com>
  7. Sender: sherman@sq.sq.com (David Sherman)
  8. Organization: The Law Society of Upper Canada
  9. References: <1993Jan20.151659.6958@sq.sq.com>
  10. Distribution: can
  11. Date: Fri, 22 Jan 93 04:56:39 GMT
  12. Lines: 110
  13.  
  14. In article <1993Jan20.151659.6958@sq.sq.com> I wrote:
  15. >If there is interest, I can post the C source to a simple program
  16. >to calculate 1993 tax, as I did some time ago for 1992.
  17.  
  18. I've had a number of requests for this, so here it is.
  19. The brackets are the same as for 1992, since inflation was less than 3%.
  20.  
  21. /*
  22.  * tax1993.c
  23.  *
  24.  * January 1993
  25.  *
  26.  * Calculate 1993 federal + Ontario tax from taxable income.
  27.  * This program reflects the February 25, 1992 federal budget
  28.  * and April 30, 1992 Ontario budget proposals.
  29.  *  NOTE: THE RATES MAY BE CHANGED BY THE EXPECTED SPRING 1993 ONTARIO BUDGET.
  30.  *
  31.  * David Sherman, BA, LLB, LLM
  32.  * Tax Lawyer, Consultant & Author
  33.  * dave@lsuc.on.ca
  34.  * tel 416-889-7658 / fax 416-889-3246
  35.  *
  36.  * This program may be freely distributed as long as this
  37.  * header information is included with it.
  38.  */
  39.  
  40. double atof();
  41. main(argc, argv)
  42.     char **argv;
  43. {
  44.     float tincome, basicfed, basicprov, fedsurtax, fedhighsurtax;
  45.     float provsurtax, provhighsurtax, basicfedrate, basicprovrate;
  46.     float margrate;    /* marginal rate */
  47.     float perscredit;
  48.  
  49.     tincome = atof(argv[1]);
  50.     if(tincome <= 0)
  51.     {
  52.         printf("Can't calculate for income of $%.2f\n", tincome);
  53.         exit(1);
  54.     }
  55.     printf("taxable income $%.2f\n", tincome);
  56.  
  57.     if(tincome <= 29590)
  58.     {
  59.         basicfed = tincome * .17;
  60.         basicfedrate = .17;
  61.     }
  62.     else if(tincome <= 59180)
  63.     {
  64.         basicfed = 5030 + ((tincome - 29590) * .26);
  65.         basicfedrate = .26;
  66.     }
  67.     else
  68.     {
  69.         basicfed = 12724 + ((tincome - 59180) * .29);
  70.         basicfedrate = .29;
  71.     }
  72.  
  73.     printf("initial basicfed $%.2f\n", basicfed);
  74.  
  75.     perscredit = 1098;
  76.     printf("personal credit $%.2f\n", perscredit);
  77.     basicfed -= perscredit;
  78.     if(basicfed < 0) basicfed = 0;
  79.     printf("basicfed after credit $%.2f\n", basicfed);
  80.  
  81.     basicprov = basicfed * .55;
  82.     printf("basicprov $%.2f\n", basicprov);
  83.     basicprovrate = basicfedrate * .55;
  84.  
  85.     margrate = basicfedrate + basicprovrate;
  86.  
  87.     fedsurtax = basicfed * .03;
  88.     printf("fedsurtax $%.2f\n", fedsurtax);
  89.     margrate += (basicfedrate * .03);
  90.  
  91.     if(basicfed > 12500)
  92.     {
  93.         fedhighsurtax = (basicfed - 12500) * .05;
  94.         margrate += (basicfedrate * .05);
  95.     }
  96.     else
  97.         fedhighsurtax = 0;
  98.     printf("fedhighsurtax $%.2f\n", fedhighsurtax);
  99.  
  100.     if(basicprov > 8000)
  101.     {
  102.         provhighsurtax = (basicprov - 8000) * .06;
  103.         margrate += basicprovrate * .06;
  104.     }
  105.     else
  106.         provhighsurtax = 0;
  107.     printf("provhighsurtax $%.2f\n", provhighsurtax);
  108.  
  109.     if(basicprov > 5500)
  110.     {
  111.         provsurtax = (basicprov - 5500) * .14;
  112.         margrate += basicprovrate * .14;
  113.     }
  114.     else
  115.         provsurtax = 0;
  116.     printf("provsurtax $%.2f\n", provsurtax);
  117.  
  118.  
  119.     printf("TOTAL TAX $%.2f\n", basicfed + basicprov
  120.         + fedsurtax + provsurtax + fedhighsurtax + provhighsurtax);
  121.     printf("marginal rate %f%%\n", margrate);
  122. }
  123.  
  124.