18 ms·
Using GnuCash as a Freelancer to Track Finances and Prepare Taxes
- mihai_maruseac 9y agoOn tax day here in US. To keep in mind for next year.
- HugoDaniel 9y agoThe major version 3 was just recently released: https://github.com/Gnucash/gnucash/blob/maint/NEWS https://github.com/Gnucash/gnucash/blob/maint/NEWS
- LVB 9y agoThanks for mentioning this! I was a GC user for quite a while on linux, but the register rendering (fonts) was so bad on macOS I abandoned it, checking back for updates every so often. Looks like this is better now.
- edraferi 9y agoGnuCash 3.0 is available via homebrew cask: https://github.com/caskroom/homebrew-cask/blob/dc825c8fe0cd36bd7d1f86afe62feda57d02d70c/Casks/gnucash.rb https://github.com/caskroom/homebrew-cask/blob/dc825c8fe0cd3...
- rudedogg 9y agoFWIW: I just tried the 3.0-1 macOS version and it crashed when trying to configure/save. The save dialog was non-native and seemed to have some weird "offset" where clicking the mouse would select a folder/file not under my cursor, but offset by like 50px.
- nickjj 9y agoBlog post author here. Nice find. I just updated to 3.x (my screenshots were based on 2.x) and 3.x's UI is a pretty substantial improvement. Reports generate faster, fonts look better and the app itself doesn't look like it was made in 2003. This is coming from a Windows 10 perspective.
- Cerium 9y agoI've been using GnuCash for a couple years now. It works well once you set it up and get a feel for its interface. It has the features I need for my small side business. I would recommend it.
- INTPenis 9y agoHey might I ask you about the num column in the BAS account template? Are you supposed to keep that globally unique or just for each verification you log? Because if it's only a local sequence for each verification you make then there's bound to be overlap between account views. And if it's globally unique then I'd like GnuCash to automatically increment it.
- enticeing 9y agoI don't know about the BAS account template, but my accounts have the num column as well. I thought it was used for ordering transactions that occur on the same date. Personally, I just stopped using it because it rarely matters for me the order of multiple transactions in the same day. Looking at this page on gnucash.org now (1), it's referred to as just "optional Num (such as a check number)". Hope that helps. [1] http://gnucash.org/docs/v2.4/C/gnucash-guide/txns-registers1.html http://gnucash.org/docs/v2.4/C/gnucash-guide/txns-registers1...
- zo1 9y agoI think it's an open field for you to use however you want. E.g. If it's a Bill and you use the bill functionality, that column gets auto-populated for you using the "Bill ID". Likewise for sales-receipts, it gets populated with the Receipt ID that you filled in when creating the sales receipt. If you leave them blank when creating those items, an auto-incremented ID gets filled in. At least for Receipts and Bills, GNUCash keeps separate sequences of unique IDs. So, you can use it to match it against a bill, invoice, whatever is applicable to that entry. Also, had a quick look in the account XML regarding Bill/Receipt ID. It get's stored as ID, even though the bill/receipt has a unique GUID to identify it. I would assume that means it need-not be unique.
- pcunite 9y agoI switched to using a spreadsheet. From that I create a P&L report. I understand the cash flow much better vs. when I was using a software package. I do miss seeing graphs and such, however.
- ryanmarsh 9y agoCash flow forecasting is one area where all the bookkeeping systems fall down.
- ropeadopepope 9y agoI don't think most single owner businesses do cash flow forecasting. Do you?
- ryanmarsh 9y agoIf cash is inconsistent they should. I have expenses (travel) that can vary quite a bit. So yes.
- zertrin 9y agoIt does require commitment to keep track of the transactions regularly, but ultimately gnucash is really a great help for me as well. I don't keep a detailed track of every petty cash expenses (just input an adjustment for the "cash" asset account each month based on what is left in my wallet), but based on the monthly bank statements most of the expenses are already covered anyway.
- Wildgoose 9y agoI highly recommend GnuCash. Not only do I use it for my personal and business accounting needs, I also use it in my role as the Treasurer of a Charity set up to keep our local library open. It provides proper double entry accounting and the ability to split transactions into different categories which enables me to use it very successfully to handle the special accounting requirements of grant spending.
- icebraining 9y agoYeah, and the basics aren't even hard to learn/use, after the person understands the concept of double-entry. I know someone who has no particular expertise of accounting nor computing and who uses GnuCash to manage the money of an art group (receiving money from multiple entities, keeping track of expenses and paying out interpreters), and almost never needs help.
- ryanmarsh 9y agoUnless you enjoy doing your books this is no way to run a business. Hire a bookkeeper and a CPA and use a popular SaaS tool like Xero. Doing your own books is one way to get burned out on being an entrepreneur. Please don’t do this to yourself. Outsource and delegate. Your mental health (and the compliance risk) aren’t worth it.
- danieka 9y agoI have a really bad personal experience of that. Mental health should be way more important than saving some money on doing your account yourself. I hope everyone here follows your advice!
- rbcgerard 9y agoWhile I take your point, I often see people who don't really understand accounting avoid the topic entirely by fully outsourcing the preparation of their financial statements. This often leads to disaster because I've noticed that if you're not really on top of your outsourced service provider, they get sloppy/lazy and make lots of mistakes.
- ryanmarsh 9y agoGet good providers. Biz 101.
- mcguire 9y agoOutsourcing your financials is another way to get burned as an entrepreneur.
- ryanmarsh 9y agoEverything you don’t do yourself is a great way to get burned, but that’s no way to run a business. Intelligent outsourcing and delegation is essential. Read “The E-Myth”
- jonathanstrange 9y agoI know it can deal with currencies, but does anyone know how well it fares with requirements of non-US countries? What accounting system does it use? Is it suitable for a small business in a European country, where (I presume) the accounting/IRS and tax system requirements are more stringent? I'm interested in using it in Portugal but AFAIK small businesses and freelancers here use different, commercial local software.
- INTPenis 9y agoI'm using it in Sweden and GnuCash already has a BAS-12 account template built in. It's pretty much complete and there is no reason to require BAS-17. I recently started using it so I actually have one unanswered question. Was going to connect to their IRC to find out. The num column seems to be manual and I'm not sure if it's supposed to be a globally unique value or just a sequence for each transaction (verification) you make. Sorry if I'm talking out of my ass but I don't know the correct business english to use in these circumstances.
- vq 9y agoI'm using it in Sweden as well. I wrote a Python script to populate the accounts from a list of accounts I received from my auditor/tax consultant, as such I don't know exactly what flavour of BAS it is. I use a letter prefix for my transaction sequence numbers and GnuCash doesn't seem to understand it or put any value in it at all. This is definitely a weak point in my eyes and I'd love to have GnuCash support categories for transactions and strict sequence numbers.
- gntech 9y agoIs it possible you could share that script? :) It would be interesting to see how it is done
- vq 9y agoSure. It's a bit of a hack and I can't recommend anyone to actually use it. It probably contains a number of assumptions that only holds true for the SIE-files I've had to handle. https://erq.se/sie/import_sie.py https://erq.se/sie/import_sie.py https://erq.se/sie/sie.py https://erq.se/sie/sie.py https://erq.se/sie/export_sie.py https://erq.se/sie/export_sie.py
- jjeaff 9y agoWow, I had no idea this existed. It is sorely needed. Excited to try it out. There are so many options over the years that either end up abandoned, (Microsoft money), or bought and abandoned or destroyed by Intuit.
- Noumenon72 9y agoI'm still using Microsoft Money sunset edition to this day. The perfect product with graphs, no annual fees, autocomplete, and all your data safely offline.
- mrleinad 9y agoMy personal setup for tracking finances (not taxes, just expenses and incomes) is: - Expense IQ (Android) - Google Sheets I'll take a look into this one, maybe I can replace GSheets with it, or get something extra from it.
- icebraining 9y agoThe big advantage is double-entry. It's generally much easier to avoid missing something in one of the accounts. https://www.youtube.com/watch?v=aqAaScYVeRQ https://www.youtube.com/watch?v=aqAaScYVeRQ
- ozim 9y agoI ended up making my own setup instead of GnuCash because I tried it and it feels like wearing one size too small shoes. My finances is also something I can work as hobby without PMs on my head and keep myself motivated to work on it for years (now three or four). If you want to have side project doing your own finances is nice choice.
- akeck 9y agoI just want thank the GnuCash devs for their hard work over the years. It’s helped me get insights into my personal finances and helped me learn double-entry book keeping.
- brensmith 9y agoI'm a big fan of CLI accounting software (Ledger, Beancount and hledger) for my personal finances. Allows you to use a plain text file for recording your financial data. If you live a large percentage of your life in a command line environment, and you like your life scriptable, check it out. I personally use hledger, but would recommend that folks check out http://plaintextaccounting.org/ http://plaintextaccounting.org/ for a great overview of all cli accounting packages.
- pmoriarty 9y agoI love the command line, and really wanted to love Ledger, but found that manual transaction entry for it (even using Emacs) was far inferior to Gnucash, which does far more powerful autocompletion on previous entries. This makes Ledger impractical for manually entering thousands of transactions, which I had to do. I also tried some GUI interface to Ledger that was supposed to be better in this respect, but couldn't get it to work.
- icebraining 9y agoLedger can import GnuCash databases, so in theory you could do the the insertion in GC and processing in Ledger :)
- JustSomeNobody 9y agoI believe I remember seeing some CSV to Ledger-cli tools if you can get the data into that format.
- brensmith 9y agoI agree that entering large numbers of manual transaction can be clunky, but for the occasional single transaction it can be pretty quick. For larger numbers of transactions, I've created a rules file that hledger uses to parse the downloaded CSV file from my bank to create a fairly detailed journal entry. (https://github.com/simonmichael/hledger/wiki/Convert%20CSV%20files https://github.com/simonmichael/hledger/wiki/Convert%20CSV%2...). The real added benefit for me is using git not only for my journal file, but also for the CSV files. It gives me an immutable record of transactions from my bank. I had a revelatory experience reading adept's methods for tracking his financials. Version control for everything. https://github.com/adept/full-fledged-hledger https://github.com/adept/full-fledged-hledger
- quintin 9y agoI’ve been a fan of GnuCash, especially double accounting and multi-currency. But the lack of having an online version limited me. I couldn’t share anything. My CPA couldn’t take a look at it etc. Advice there?
- MrMoenty 9y agoI keep my GnuCash file in an encfs-encrypted Dropbox Folder. As long as you don't try to edit it from two devices simultaneously, this works quite well.
- Cerium 9y agoI'll second the opinion for Dropbox. GnuCash has lock files, so you can open read-only if it is being edited by another person to avoid conflict.
- kozziollek 9y agoThere is self-hosted PHP app named Firefly III [1] that supports double-entry bookkeeping system. If by "sharing" you mean "logging on your account at different computer/phone" then it should work. There are user accounts, but only to use same installation without sharing data. [1] https://firefly-iii.org/ https://firefly-iii.org/ Disclaimer: I'm just a happy user, who reported some issues and pull-requests.
- quintin 9y agoThis deserves more attention. Thanks for Firefly.
- kilotaras 9y agoHow do you deal with multiple currencies and expenses? I find duplicating expenses accounts (national currency + USD for international shops) very tedious.
- rbcgerard 9y agoSuch a great product: + Free + Cross platform + You own/control your data + extremely flexible + true double entry (unlike mint etc) + great for an individual power user or keeping very simple corporate books - a little longer to pull financial data as you need to download CSV files etc from each financial institution - some reports can be a bit clunky/annoying to customize - Not sure i would use this for a complicated business with lots of employees or huge volumes of transactions
- clircle 9y agoGnuCash is wonderful! I have since switched to ledger-cli (via Emacs ledger-mode) but I gotta thank GnuCash for getting me into the good habit of tracking all my finances with precision detail.
- RobertRoberts 9y agoDoes anyone have a good experience working with accountants using GnuCash? My accountant got me using Quickbooks years ago, and I he does my books from my QB file. This is such an easy way to work. I really love the idea of GnuCash, and I've tried it out a couple of times, but I really don't want to have to find another accountant just because of a software change.
- watsocd 9y agoI have been using it for a couple of years now after refusing to pay QB Online $40+ per month. The GUI needs some work but it is functional. Navigation to find things is not always easy for daily tasks. I have not looked at the recently released V3.0 yet. I even looked into helping with the programming by adding a report that I wanted but the tools they used seemed very complicated to me. Although it does not connect directly to your bank, you can download and bulk import transactions. However, I continue to use the software.
- Delmania 9y agoSomething that's not specifically mentioned is that, as far as I can tell, the author is a single freelance developer. Most people don't need a bookkeeping system, a simple budget application is enough to handle personal finances. It's been a while, but the last time I looked, GnuCash's budget system wasn't fully thought out. The other aspect to this is that as the situation starts to become more complicated, doing it yourself stops making sense. Adding in children, a house, employees, etc, increases the chances of making a mistake and then having to go through an audit, which is expensive and time consuming. It's a better strategy to find tax accountant (local) and work with him to make sure the IRS has no need to investigate you.
- TheAdamAndChe 9y agoThis depends entirely on how your business is structured. I'm pretty sure the way GnuCash recommends handling business accounts is to have a completely separate GnuCash file for your business, then pay yourself under the Income category with that business and use that as a normal salary income. The complete separation makes tracking everything much easier.
- jldugger 9y agoIDK what GNUCash recommends but keeping separate books is literally the first factor the IRS uses for distinguishing hobby vs business income: https://www.irs.gov/pub/irs-utl/irc183activitiesnotengagedinforprofit.pdf https://www.irs.gov/pub/irs-utl/irc183activitiesnotengagedin...
- nickjj 9y agoWhile I am a single freelance developer, things wouldn't change much with a family. Also GnuCash has heaps of documentation on dealing with employees / payroll. I think it would be pretty easy to pull off with a couple of employees. Not sure about beyond that, but honestly, it's a non-issue. Worrying about that would be like worrying about how to operate at Google scale when you haven't even developed your product yet. For the record I still goto an accountant every year. I just bring him the reports that GnuCash created. Unless you hire a personal bookkeeper you're always going to be responsible for totaling up your own income for taxes no matter what you use.
- djhaskin987 9y agoMy wife and I use it so that we aren't forced to put our financial data online with some cloud service.
- codebook 9y agoI am not a freelancer, but as a personal finance tool, I am using YNAB (You need a budget). I've been using it for many years from desktop app to current webapp. I highly recommend it to anyone looking for financial app if you are willing to do some manual work (putting every transaction by yourself). Budget scheme in YNAB is far different than any other financial tool (personal area) in my opinion. And it has helped me a lot to keep me stable financially. The price ($60 for desktop app, which no longer available, and $7/month) would be big barrier for new comer, though. It is worth to subscribe :)
- staplers 9y agoif you are willing to do some manual work (putting every transaction by yourself) So it won't track your bank transactions automatically? If I have to enter transactions manually what's the point of the software? I could do this on paper..
- codebook 9y agoIt does support track the bank transactions. but I don't recommend it, since by entering transactions, you will realize how much you'd spend in your budget to the category. You could do it on paper. and carry it in your pocket all the way. There's no difference in terms of managing transactions. But you could be easily loose the track of your budget in my opinion. YNAB helps you to keep remind the budget. That is the key for me to keep using YNAB.
- was_boring 9y agoI don't use YNAB, but instead a homegrown budgeting site for my family, and always recommend entering everything yourself. The bank account scrapping can take a few days for a transaction to clear, so you never know what your actual spending looks like for that day/week. And, like you said, it forces you to at least recognize spending.
- beart 9y agoThe way I use it - enter transactions manually as they occur and use the import feature to match things up later, ensuring I didn't miss something.
- benjaminjackman 9y agoDoes anyone have any recommendations on ways to automatically download data from bank accounts / brokerages etc onto disk for easy / scripted importing into GnuCash / Spreadsheets etc (instead of having to click around on the websites and download csvs or whatever daily?). I have seen some products aimed at developers that will bucket various banks into APIs but not anything aimed at individuals. I have experimented with automating it with puppeteer, but surely there has to be a better way? Maybe it's a matter of finding and using a modern set of financial insitutions with decent APIs. Does that even exist (in the US)?
- deft 9y agoAt my bank, the best way is to run a cronjob to download a CSV formatted report. Probably needs phantomjs or similar. I think this is the general situation. Banks don't have (open) APIs and I don't think they have any intention of changing that. There's a few startups trying to but none of them are based in the US.
- rebuilder 9y agoWait, without an API, how do you automate downloading the CSVs? Specifically, how do you handle authentication?
- w0m 9y agoHe stated phantomjs, basically GUI Automation.
- rebuilder 9y agoBut if you run it via a cron job, don't you have to store your login, 2fa etc on the computer you run it on? That's what I was wondering about.
- deft 9y agoYou would have to store login data on your PC somewhere. 2FA wouldn't be possible unless you had some kind of interaction with the script at runtime.
- londons_explore 9y agoGnuCash seems to be about 15 years behind the times when it comes to accounting software... It should hook up to my bank account. It should take photos of my receipts, credit card statements and bank statements and automatically OCR them to add data. It should automatically calculate my taxes for a specific country, and file tax reports with local, state and federal government agencies online, and it should highlight things I might have missed to reduce my tax burden given my specific situation. It should compare my expenses with a typical person to highlight areas I might be able to make savings. It should have a mobile app which works even when offline and syncs later. It should have auto backups to the cloud or remote storage. If I just wanted a way to add up my expenses by category, I would have used a spreadsheet.
- vxNsr 9y agoCan you recommend a piece of software that does all of the above? Can't be 15 years behind the times when there is no better alternative.
- jamiek88 9y agoYes, I too would like to know if this exists? Very much doubt it would be OSS even if it did.
- ropeadopepope 9y agoTurboTax, QuickBooks and Mint. They're all owned by Intuit and not open source.
- vxNsr 9y agoMint doesn't do nearly any of the things he claims (and definitely not well), I use it daily and have been looking for a good replacement for over a year now. Do TurboTax and Quickbooks sync so that I can quickly add taxable transactions?
- watsocd 9y ago
- mongol 9y agoI know nothing about GnuCash. How internationalized is it? Taxes are different everywhere.
- neboysa 9y agoHow come that no one mentions xero? Been using it quite some time and I was sure it was one of the best solutions out there. Thoughts?
- Bizarro 9y agoIs it safe to download an installer from sourceforge these days?
- MattSteelblade 9y agoSourceforge has been under new management for approximately 2 years. They revamped the site and cleaned it up. Since this change, I have seen no reason not to use it.
- jcoffland 9y ago> Honestly, it’s not as bad as it seems. For example if I grab some milk, I just drop the $1.99 in under the Food account shortly after I get home. Who just buys milk? I usually buy 10 to 40 things at the grocery store. This means I have to keep my receipt, enter each line item and figure out the per item sales tax. And if I forget once, it's all screwed up. Do most people track each item or do you make one entry for the whole grocery run? What do you do if you fail to enter something? How about failing to enter two or more things during a time period? When and how do you reconcile?
- nickjj 9y agoWhen you live within walking distance from a grocery store and enjoy walking then picking up 1 or 2 items isn't uncommon. But you do bring up a good point. When it comes to larger food / supply runs, I just put in the whole receipt as 1 entry. GnuCash has a "description" field for metadata. I usually just put in the store's name along with the receipt ID. Correcting a failure / mistake is easy because GnuCash lets you create, edit or delete entries from any date. If you forgot to put something in from 3 months ago but caught it on your bank statement later, you just plop in a new transaction with 3 months ago's date and it'll auto-adjust everything.
- vanderZwan 9y agoDoes it keep track of edits?
- nickjj 9y agoNot that I'm aware of. If you edit a previous transaction it will override it, so it's not technically an always "move forward" transaction log. I've never had it become a problem tho. I've made a few ninja edits over time and things line up.
- mcguire 9y agoPersonally, I have a "Cash" expense account---when I withdraw money from a checking account, the transaction records it as being spent there. "Cash" ends up being one of my major expense report items, but I generally ignore it because it is all small transactions that aren't worth recording individually. For credit and debit cards, I hang onto the receipt and record it later. (I don't worry about being too detailed; all of my transactions at the local grocery store go into the "Groceries" expense account, even if I buy gas from their gas station.) I mostly use GC to track money moving into and out of my financial institution accounts. [Edit] And I do the reconciliation with my monthly statement. There's frequently a credit card transaction where I didn't get a receipt or something, but I've never had too much trouble tracking things down.
- ThrustVectoring 9y ago>I don’t own a credit card (by choice) If you have the organizational skills and self-discipline to use a credit card the same way you'd use debit or cash, you're way better off using a credit card. If your debit card gets skimmed at a gas station, your bank account will be debited and you have a significant problem until it gets resolved. If your credit card gets skimmed, the issuer has a problem and you need merely to inform them and wait for a new card in the mail. Plus, 2% cash back on all purchases is pretty nice.
- nickjj 9y agoYep, but the problem is my moral compass is potentially out of whack. I'm 100% confident I could control using the card, but fundamentally I don't like how credit card companies are ran. Plus I don't agree with a company keeping tabs on my financial transactions and then profiting from that data on my behalf. With that said, the 2% is nice but it's not enough to make me reconsider. There probably is a number where I would give in, but since that's never going to happen, I don't bother thinking about it. On the other hand, debit card theft is a real concern. I partly combat that by keeping the minimum in that account. Fortunately I haven't misplaced my card in the last ~20 years. I'm hoping my bank would resolve it. They did really well in a few cases where an online vendor didn't honor their own policies (they helped me recover the funds without it being a huge deal).
- ThrustVectoring 9y agoHave you considered rewards churning in an attempt to cause net losses for the issuer? IMO that's a better protest move than simply not participating, at least until something better can be coordinated.
- kerkeslager 9y agoYou're still causing a ~3% loss to the vendor every time you spend money using a credit card.
- 9y ago
- mcguire 9y agoI've been using GnuCash for nearly two decades (and one of these days I'll need to figure out how to archive previous years' data, although it hasn't really been a problem so far). "You can even get it to work well across devices if you use tools like Drop Box. I don’t do this, but I’ve heard of others doing this without issues. That’s because GnuCash creates a single database file that can be easily backed up and sync’d across devices." This is actually one of the things I rely on. I haven't done it as much lately, but running unison (https://www.cis.upenn.edu/~bcpierce/unison/ https://www.cis.upenn.edu/~bcpierce/unison/) with my VPS before and after I run GnuCash let me use the latter on whichever computer I had handy. There have occasionally been version conflicts, but unison's much worse about that than GnuCash. One other feature that recently broke is updating the market value of the stocks I have. Yahoo Finance finally killed off the service and I haven't found a really suitable replacement.
- budhajeewa 9y agoRe: Archiving Previous Years I setup a new `.gnucash` file for each year, by making a copy of previous year's file, and emptying it of all records. I then review the accounts I've created in it, and remove anything that won't be necessary for the new year. Finally, I bring forward balances from assets and liabilities, and enter them as Opening Balances.
- hippich 9y agoWhen we just moved to the USA, I was really concerned with keeping costs down. GNUCash totally helped to keep spending under control. It covered my fulltime job + occasional freelancing accounting perfectly.
- vanderZwan 9y agoSo I recently started looking into this kind of software, and among the OSS options, I found GnuCash, HomeBank and Money Manager EX. Does anyone have experience with the other two options and an opinion on how they compare in practice? http://homebank.free.fr/en/index.php http://homebank.free.fr/en/index.php https://www.moneymanagerex.org/ https://www.moneymanagerex.org/
- irundebian 9y agoAfter several years of using GnuCash as a poor student to control my money I moved to kmymoney. It was really fun to generate graphs/reports to get an overview over my expenses, but it later annoyed me to manually export data from my bank accounts and import it to Gnucash manually and assigning expense categories to all bookings. After trying to connect my accounts via HBCI/FinTS to automate importing transactions with aqbanking, I received certificate errors. This led to me to just switch the software instead of going into debugging hell. Kmymoney uses aqbanking too, but didn't lead me to certificate errors. I hope Kmymoney is as good as Gnucash in generating graphs and reports. I just couldn't see Gnucash anymore and wanted to start from the beginning.
- lifeisstillgood 9y agoIt has always struck me that the data on our spending is electronically there but is impossible / painfully impractical to obtain. The European Payment Services Directive 2 (PSD2) is supposed to allow (authorised) third parties to get to our bank data (ie Apple or mint or some OSS friendly service) - it is of course woefully late being supported But even that is only half the story - each time i take a paper receipt from a store I think "why can't you email that to me - or NFC it up to my phone which is in my hand, or encode the data in three or four QR codes on the receipt" We are surrounded by data that is trapped and yearning to be free.
- billfruit 9y agoIn India I find the android app Walnut very useful.Instead of interfacing with different banks to get transaction data, it mines your SMS to know about transactions, and builds up a ledger automatically.It generates quite informative reports as well. While GNUcash is a good tool, I think it would be far more convenient if it were a web app or at least a phone app; if it was so, one could use it on the go while traveling for example.