top | item 38843608

(no title)

sdwvit | 2 years ago

Props to the author. At this point, CRA should just post a reference implementation of all the formulas, so that small businesses can benefit from it.

discuss

order

cperciva|2 years ago

It would be very nice if they would publish a libreoffice spreadsheet, yes.

Heck, it would be very nice if they would create a libreoffice spreadsheet, even if they don't publish it. If they had to read their own document, it would probably be far better written.

derefr|2 years ago

> If they had to read their own document, it would probably be far better written.

Perhaps not; I've always had a strong impression, whenever reading documents derived from tax policy, that the "architecture" of such documents is the way it is mainly for maintainability.

Which is to say: the effective tax code at any given moment, is the emergent result of the interactions of all the current tax laws on the books. And there are many such laws. And those individual laws can be updated or repealed; and new laws can also come in that, through a few simple statements, make sweeping changes to the meanings of other laws.

As such, the tax-filing instructions, ideally, have to be constructed in such a way that they cope efficiently with someone being able to pull a single jenga-block out of the tower that is tax law, that topples over a whole slew of other instructions and definitions. The team of tax lawyers and technical writers that maintain the instructions should not have to sit down and rewrite every instruction on every schedule/form, just because one of the core definitions changes. Because that's gonna happen a lot! Every year, even!

If I was in charge of a team of (automation-minded) lawyers and technical writers maintaining the tax-filing instruction repository, I'd probably, ideally, want to factor out the instructions into separate modular files per law — with each file acting as a sort of Aspect-Oriented equivalent of Javadoc. (Or, actually, something very much like Inform 7. See e.g. https://i7-examples.github.io/Bronze/source_1.html)

So you'd see:

• Paragraphs that interpolate definitions as constants from other laws' modules;

• paragraphs that have implicit AOP hooks for other laws' modules to inject additional language into;

• the ability of a law to override specific sentences or wording of the language of the laws so far;

...and so forth.

This would be hell to read, but it'd sure make the job of dealing with changes in the law easy. (And it wouldn't be something you'd really read anyway — more often, it'd be something you'd carefully poke at, while watching the compiled result change live in a split pane. Like writing LaTeX in LyX.)

---

To be clear, I don't imagine that any existing set of tax-form language is actually maintained using some weird AOP DSL.

Rather, I imagine that the maintainers are manually doing the same business process that use of such an AOP DSL would formalize.

They're maintaining a very non-intuitive "storage architecture" for all the instructions that go into these forms, to minimize re-working when the law changes; and then — mostly manually, but maybe with a bit of Excel — collating them together into new schedules and forms each year.

And it's that "storage architecture" — despite not being something as rigid as source code — that still nevertheless forces the language of the instructions into the form you see at tax-filing time, with the weird grammatical shapes, the distant definitions, etc.

rozap|2 years ago

Why would they do that? If it's all out there in the open, then everyone can find bugs/issues and then they'd have to deal with them.

Also they'd probably lose a lot of revenue they collect from fines.

Personal anecdote about how you don't fuck with the CRA. Back in college in I got "free" room and board for year because I was a resident advisor. When I, an idiot 20 year old, filed my taxes, I did them wrong and under reported by around 1k. First time doing Canadian taxes as a US citizen. A few years later I got a fine for around $5500, which was a huge sum for a college kid working part time. Turns out BC can match the fine levied by the CRA. In hindsight, I would have been better off just not having that job - I think I would have come out ahead. For the rest of the time I lived in Canada I hired a CPA.

The IRS is warm and fuzzy by comparison. At least if you screw up, the fine is proportional to the amount you under report. (unless you're super rich...but that's a different thing)

betaby|2 years ago

They won't. They have no mandate to provide a clear answer.

j45|2 years ago

Bureaucracies gotta bureaucracize.

cmrdporcupine|2 years ago

Honestly, I've always found CRA friendly, competent, and responsive.

But, I also don't run a small business, and am just a tax payer. Though when I had a small consultancy and corporation they were also actually fine to deal with.