惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cisco Talos Blog
Cisco Talos Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Jina AI
Jina AI
雷峰网
雷峰网
The Register - Security
The Register - Security
The Cloudflare Blog
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
I
InfoQ
博客园 - 三生石上(FineUI控件)
H
Help Net Security
博客园 - 司徒正美
Vercel News
Vercel News
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
云风的 BLOG
云风的 BLOG
B
Blog
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
L
LangChain Blog
人人都是产品经理
人人都是产品经理
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recorded Future
Recorded Future
小众软件
小众软件
Martin Fowler
Martin Fowler
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell
腾讯CDC
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Apple Machine Learning Research
Apple Machine Learning Research
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - Franky
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
V
Visual Studio Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
N
Netflix TechBlog - Medium
V
V2EX
Blog — PlanetScale
Blog — PlanetScale

remy sharp's l:inks

Deno Style Guide Easy 6502 by skilldrick Profiling React.js Performance BEM Naming Cheat Sheet by 9elements Visual 6502 Remix Elijah Manor (@elijahmanor) on X All – Tiny Helpers AST explorer Insecure How to Authenticate with Next.js and Auth0: A Guide for Every Deployment Model Revealed: quarter of all tweets about climate crisis produced by bots I Add 3-25 Seconds of Latency to Every Page I Visit GitHub - ericchiang/pup: Parsing HTML at the command line Browserling – Online cross-browser testing Error Handling with GraphQL and Apollo Schwerkraftprojektionsgerät How To Turn Off Catalina Update Notifications (Prompts & Badges) • macReports Maskable.app It’s 2020 and you’re in the future Emulators written in JavaScript | Frederic Cambus The Size of Space systemfontstack JavaScript isn’t always available and it’s not the user’s fault Programming Fonts - Test Drive Screen Size Map GitHub - Yonet/MixedRealityResources: Mixed Reality related resources The Lines of Code That Changed Everything Notes from the Internet Health Report 2019 CopyPalette Generative Artistry Profile a React App for Performance nanoSQL 2 Moving Your JavaScript Development To Bash On Windows — Smashing Magazine Startup Playbook How to Release a Custom React Component, Hook or Effect as an npm Package React Suite - Enterprise React UI Component Library Use VSCode Dimmer to Highlight Code when Teaching 3 simple rules for effectively handling dates and timezones Large collection of how to animate pixelart Accessible React component libraries mineral-ui.com Australian Government Design System Reakit – Toolkit for building accessible UIs Chakra UI Curl Cookbook The problem with tooltips and what to do instead GitHub - trimstray/the-book-of-secret-knowledge: A collection of inspiring lists, manuals, cheatsheets, blogs, hacks, one-liners, cli/web tools and more. It Form design: from zero to hero all in one blog post Brussels changes its mind AGAIN on .EU domains: Euro citizens in post-Brexit Britain can keep them after all Improve Your Email Campaigns with These Fantastic Tools Ethical Web Principles Old Typewriter Text Effect Bruce Lawson Google open sources standardized code in bid to become Mr Robots.txt Preferreds-color-scheme:你好,黑暗,我的老朋友  |  Articles  |  web.dev Free for Developers Startup idea checklist Developing a Robust Font Loading Strategy for CSS-Tricks—zachleat.com How I use Slack—alone—to get more done Upcoming proposals in JavaScript 🦄 VueJS is dead, long live VueJS! Bruce Lawson Answers for young people - Tim Berners-Lee Finally, an AI that can reliably catch and undo Photoshop airbrushing. Who made it? Er, Photoshop maker Adobe Qubyte Codes - How I schedule posts using GitHub Actions Games and Graphics in Popup URL bars Stack 58 bytes of css to look great nearly everywhere The reduce ({...spread}) anti-pattern - RichSnapp.com The Online Disassembler CSS Gradient – Generator, Maker, and Background Chrome DevTools  |  Chrome for Developers HB88 | Đăng Nhập HB88 Cá Cược Nhanh Chóng Không Bị Chăn #1 Introducing React Apollo 2.1 - Apollo GraphQL Blog Color Palettes Generator and Color Gradient Tool Clément Chastagnol ~ Moving efficiently in the CLI Testing Async Components · Issue #346 · enzymejs/enzyme Game Platforms recent news | Game Developer Professional Sound Effects - Royalty-Free SFX | Unlimited Downloads entr(1) Learn React From The Comfort Of Your Browser Axe Rules | Deque University Record and share your terminal sessions, the simple way Web Design Museum Powerful New Additions to the CSS Grid Inspector in Firefox Nightly – Mozilla Hacks - the Web developer blog Latency | Apex Software HackerNoon Signals and Sine Waves (Learn Web Audio from the Ground Up, Part 1) JavaScript Systems Music Vintage bits on cassettes Microsoft Design Legal Documents & Contract Templates | Simply Docs create-graphql-server — instantly scaffold a GraphQL server GraphQL and MongoDB — a quick example Using GraphQL with MongoDB Your First GraphQL Server Build a GraphQL server from scratch Practical Redux, Part 3: Project Planning and Setup Freesound
Preventing accounting chaos in your product business with Xero – Rachel Andrew
2014-06-21 · via remy sharp's l:inks

I frequently recommend online accounting package Xero to people on Twitter, however in 140 characters it is hard to get across why I think it is such a fantastic solution for people selling products.

Bookkeeping is harder once you have a product

If you are essentially a services company you most likely send a relatively small number of high value invoices per year.

With a product, in particular a digital download or SaaS application, you are likely to be recording a high number of small payments. The implications, if you are currently recording those payments by hand, is that you are going to spend a lot more time simply doing data entry – or you need to pay someone else to do that for you.

You may well also need to account for refunds if you have a refund policy, ensuring that the refund is correctly recorded in your accounts and that any VAT is also correctly adjusted.

Most people invoice for their services in their own currency, however with products it is quite usual that companies not based in the USA price in and accept dollars.You immediately find yourself with a currency conversion issue unless you are accepting payment directly into a bank account of that currency.

If you decide to accept payment in multiple currencies then you need to ensure that payments are correctly recorded in your books with the right currency.

If you are registered for VAT you need to be able to correctly charge VAT and again record this in your accounts. In the USA you may need to account for sales tax on purchases for some customers. Where VAT is concerned this can create a range of issues. In our case we are registered for VAT in the UK so we always charge VAT on purchases to other UK individuals and businesses, if they are VAT registered they claim in back through their return. We charge VAT to EU businesses as well – unless they have a valid VAT number in which case they can pay minus the VAT. when it comes to recording these transactions, which are usually in Euro, we need to know the GBP value of the transaction. Our EU VAT Return, a form that informs HMRC of the European VAT Registered business we have sold to, needs values in GBP even though we clear Euro directly into a EUR Bank account and therefore don’t actually do a currency exchange at the time of purchase.

You will also need to account for all of the fees involved in taking these payments. PayPal fees, bank charges, processor fees or percentages taken by Stripe and so on. These all need relating to your transactions both for profit and loss purposes but also so you can see if switching payment provider for example would save you money.

In our case we accept card and PayPal payments via UK PSP SagePay in GBP, USD and Euro. PayPal payments go into the correct PayPal currency account. Card payments are processed via our GB and International merchant accounts at BarclayCard and BarclayCard then transfers the funds to our bank accounts – we hold accounts in GBP, USD and Euro at the bank. So a single payment may end up in one of 6 actual accounts – PayPal GBP, USD or Euro or Bank GBP, USD or Euro.

There is also a time delay from the payment been processed and the funds being available. PayPal funds are immediately available, in our case GBP takes 3 working days to be in the end bank account, Euro and USD about 5 working days. If we were using Stripe there would be a 7 day rolling period before the funds would show up.

How Xero saved the day

I had moved our books to Xero before we launched Perch, after battling with Quickbooks for years. When we launched Perch we realised that even a modest amount of success would create bookkeeping mayhem and so we immediately looked at their API and saw that we could create each transaction via the API as it came in.

We have evolved this over the years as initially we only took payment in GBP. What happens now when someone buys Perch is that when we get the details of a cleared payment we send all of that information to Xero, putting the payment into the correct account in Xero. So, if a customer pays using PayPal in GBP the payment will be recorded as going into the PayPal GBP account in Xero.

If the payment is in a currency other than GBP we also log the Exchange Rate that we receive from the Xero API at the time of the payment being made. This is what we will use for our EU VAT reporting and to display on invoices as required by HMRC.

Xero knows the payment has been made long before the actual payments come through from PayPal or the bank. We then use the bank feed functionality in Xero to import automatically the bank statements for both PayPal and our bank accounts. Our bookkeeper then just needs to reconcile the invoice in Xero against the amount coming in on the feed, and account for any fees that have been deducted by creating an entry for them. If something goes wrong it is easy to spot as we end up with a mismatch – either a bank payment with no invoice or an invoice with no bank payment and we can then chase it up.

It works really well. We have a stream of payments in 3 currencies into 6 bank accounts, pretty much automated. The human check by our bookkeeper is just to make sure we catch any issues and the reconciliation view in Xero makes that as straightforward as it can be.

Other marvels

Xero makes my life easier in lots of other ways.

VAT Returns

If you are in the UK and VAT Registered then you will have experienced online VAT filing. It is an abysmal experience dealing with a site that seems to try and make it as hard as possible to send HMRC your data. Xero have always allowed you to create your VAT Return in the system, working out what needs to be entered into each section however recently they have added online VAT filing – right from inside Xero. You do not have to visit the horror that is the HMRC website. A marvel indeed!

Collaboration with my bookkeeper and accountant

We have an accountant who does our end of year and a bookkeeper who ensures everything is entered correctly and reconciled. They log into Xero from their own offices. I scan all our receipts and save them into Dropbox and the bookkeeper then checks that any outgoings from the company credit cards and accounts match up with a receipt. If the bookkeeper has a query as she goes through she can leave me a note on the transaction itself – it is then easy for me to scan down and locate a missing receipt or clarify what the expense was.

My accountant can add any journal entries directly into the system and I can just go take a look to check what has been changed. I love this – I did our own books for years and worried that by getting other people involved I would get out of touch. However Xero makes it easy for me to see what is being done so I can check if I don’t understand something.

Reporting and the Dashboard

The dashboard and the reports make it easy for me to get an overview of how the business is performing. Being able to do quick checks on how much we are spending on bank or other fees means I can make decisions about whether we might get a better deal switching to something else. This is really important as your product business grows – what makes sense if you are only doing a few transactions a week will be different to what is best at volume. You need to be able to keep track of this and Xero does that very well.

I haven’t hit the edges yet

There are lots of online accounting packages out there. The thing with Xero is that, despite having some fairly complex things going on, we haven’t bumped up against any limitations and my very traditional account seems able to do all the things he needs to do too. If you are launching a product, and especially if you are going to have VAT and multi-currency issues to deal with I would recommend you take a look.

I’m obviously a huge fan of Xero, but I’d love to hear how other people deal with this as it will be useful information for other people launching products. Let us all know by leaving a comment.