I’m looking for a generic word that means “debit or credit”.

Say I have a transaction, and I don’t know whether it’s a debit on the account or a credit on the account, and I want to ask about it, is there a word I can use?

For example, if I were asking whether a book were green or blue, I would ask, “What’s its color?” If I ask whether a transaction was a debit or a credit, can I fill in the blank, “What’s its _?”

(Background: I’m looking to name a variable while programming, and the best I can come up with is type, which is not very descriptive).

  • I can't think of anything. Perhaps I'd use debit-or-credit... Jan 7 '11 at 23:08
  • 1
    I have a feeling that many programming paradigms would suggest using camel case rather than hypens in variable names (as hyphens are a reserved character in languages like C and Pascal), in which case I think "debitOrCredit" would be more suitable, although ultimately it all comes down to readability.
    – Andy F
    Jan 7 '11 at 23:35
  • @Andy: Good point. Jan 7 '11 at 23:43
  • 2
    I don't think it is correct to say that a transaction is a credit or a debit, but rather each line item in a transaction holds that 'action'. A transaction should be the equal summation of the credit line items and the debit line items. (in T-accounting)
    – Luke
    Sep 10 '12 at 14:13
  • The green-eyeshade word is "Entry". I would avoid the word "transaction" since that has a more general meaning of a data type that has evenly balanced debits and credits. An "Entry" is a debit or credit entered into a ledger, including a subsidiary ledger. For example a Debit would be "entered" into a Receivables Ledger when a customer bought something on credit. A corresponding Credit would be "entered" into the Sales Ledger. Both "entries" are balanced so constitute a "Transaction". When customer pays off the invoice, Enter a Credit in A/R Ledger and Enter a Debit in Cash Ledger.
    – Genovo
    Feb 16 at 10:50

I don't believe there's a single word that fits your request. In the ERP systems I've had access to, it's generally been referred to as Transaction Type (or Distribution Type, for AR and AP).


As Hellion suggested, I'd use the variable name transactionType.

I've worked as a programmer on some accounting-related projects. In a nutshell, an accounting application is a log of transactions, and each transaction has a type. There may be more types than just credit and debit, however. For example, in my programs there is often a void transaction type. And if you are accepting credit cards there are transaction types specific to a credit card, such as authorization and capture, to name two.

  • 3
    Just piling on at this point (gotta use that eight years of writing banking software sometime, I suppose), but yes, I'd use transactionType. I'll add comment transactions to what @Scott included, and depending on the institution(s) and account types involved, Debits might be broken down into fees and withdrawals, while Credits can be principal payments, interest payments, deposits, and so on. And of course, transfers have both credit and debit sides. (stopping now…)
    – Dori
    Jan 8 '11 at 1:49
  • Good point about other transaction types, thanks :) Jan 8 '11 at 7:00

transactionDirection could work to indicate which way the money is flowing

As for variable names, camelCaseNamingStyle or underscored_naming_style in most language. I don't believe I've seen hyphens used for user-defined terms anywhere except Scheme/Lisp.


Personally, I feel that "type" is almost never the best choice for a variable name (or a column label, descriptive text, etc.). Too many things can be covered by "type". It would be almost as bad as having variable names like "thing" or "stuff". So I applaud your instinct to try to find something better.

One strategy in naming a variable to hold a binary choice is to just pick one of them. Say you call it "credit". If the transaction is a credit, the variable is True, 1, or 'Y'. If it's not, it's False, 0, or 'N'. (Or, if your variable is holding the amount, make it signed and test whether the value is positive or negative. That is, the sign serves as your "transaction type" indicator.)

If you have more than two transaction types, then of course this doesn't work too well.

  • The problem with signed values, though, is that in asset accounts, a debit is positive and a credit is negative, but in liability accounts it's the opposite. Fun with accounting! Jan 8 '11 at 7:06

Side: Which side (debit or credit) of the ledger would this entry have been written on back in the days of pen and paper bookkeeping? (Don't ask me which is right or left -- I always have to look that up.)

Edit: "Side" was my own solution to essentially the same programming problem. I've never seen it used by anybody else.


You used the generic term in your question ('I have a transaction') so use it: 'transaction'.

  • From a programming standpoint though, that would be a bad idea. You would want to use "transactionType" like others have said since "transaction" should apply to the entire transaction, which includes the amount, payor, receiver, etc.
    – JoeCool
    Feb 23 '11 at 22:12

Maybe solvency or a related term could convey what you intend?


If you are using an object-oriented programming language, you could make an abstract Transaction class and use inheritance to make Debit and Credit subclasses.

Then you can have multiple "Transactions" as line-items in one "Purchase" or "Refund", or to generalize, "Receipt".

Not the answer you're looking for? Browse other questions tagged or ask your own question.