For 20 users, I'd go domain. Probably a large enough client where they have "operations/admin" files to keep others out of, and "HR" files to keep people out of, large enough to have security groups as such.
What operating system? Server 2016 is current. What version of QB are they running? Make sure the latest. Sometimes Quickbooks will catch ya...client will run an old version that literally will not install on a new server OS...so need to make sure they catch that up to speed. I try to avoid installing old server versions on a new server project. Something about spending all that time and money on a server..and having the operating system get sunsetted for support before the 3 year warranty is up on the server hardware and end of extended support before that hardware is even 5 years old. Mainstream support for Server 2012 R2 ends next month, with end of extended in '23.
I really try to avoid SATA desktop drives on a server. In a real pinch, on a real small budget job for a client of 2 or 3 users...I've done it. But for 20..especially Quickbooks users too...I'd avoid SATA. Client thinks they save money up front...but over the lifespan of the server...users complaining about slow speed, and....as you do maintenance...that additional time you spend watching progress bars for Microsoft updates, and doing reboots...that should add up in your support fees. Plus your install time takes longer. Dunno where the savings is unless you're volunteering that extra time.
With SSDs coming down in price a nice small RAID 1 and a larger RAID 1 is fairly affordable now. And clients love the "BAM it's there" fast browsing and opening of files, and Quickbooks running quicker.