Stripe Billing can automate a large part of your revenue process. It can create recurring invoices, collect subscription payments, manage plans and show whether customers have paid. That level of automation often creates a dangerous assumption: if Stripe creates the invoice and transfers the money, the accounting must already be largely complete.
For a Bulgarian company, that is not the case. Stripe Billing does not replace Bulgarian accounting because invoicing and payment collection are only part of the compliance process. The company still needs to determine the correct VAT treatment, record gross revenue, recognise Stripe fees, process refunds and disputed payments, and reconcile the Stripe balance with the company’s bank and accounting records.
Why Stripe Billing is not Bulgarian accounting software
Stripe is primarily a payment and billing platform. Bulgarian accounting, however, requires transactions to be recorded according to their actual economic substance and the applicable tax rules. An invoice generated automatically by Stripe can look technically complete while still using the wrong VAT logic or failing to reflect the true nature of the transaction.
The better approach is to configure Stripe around the accounting process from the beginning. Company details, customer information, service descriptions, dates, currencies and VAT settings should all match the way the business actually operates. This becomes especially important for companies selling digital services, subscriptions, consulting or software to customers in several countries.
Your Stripe invoice must reflect the actual transaction
For an international SaaS or subscription business, customers should not automatically receive the same VAT treatment. The correct treatment may depend on whether the customer is a business or a private consumer, where the customer is established and whether a valid VAT number has been provided.
A Bulgarian company may need to charge Bulgarian VAT in one situation, apply reverse charge rules in another, or consider the OSS regime for certain cross-border B2C transactions. Stripe can support the calculation, but the company remains responsible for deciding whether the configuration produces the correct result. Official guidance on Bulgarian VAT obligations and electronic tax services can be reviewed through the Bulgarian National Revenue Agency.
Automation can repeat the same mistake hundreds of times
This is one of the main risks of automated billing. If the customer type, country or VAT logic is configured incorrectly, Stripe may continue generating documents in the same way for every future transaction. What begins as one configuration error can become hundreds of incorrect invoices. Before regular billing begins, review at least the following:
- the legal details of the Bulgarian company;
- the description of the service being sold;
- whether the customer is a business or a private consumer;
- the customer’s country;
- the validity and use of VAT numbers;
- the VAT logic applied to each customer category;
- invoice dates and payment dates.
A Stripe bank transfer is not necessarily your revenue
This is where many accounting problems begin. Stripe normally receives money from customers before transferring funds to the company’s bank account. During that process, it may deduct processing fees, process refunds, include disputed payments or perform currency conversions. As a result, the amount arriving in the bank account is usually a net settlement. It should not automatically be recorded as sales revenue.
Imagine that customers pay a total of 10,000 during a reporting period. Stripe deducts its fees, processes a customer refund and then sends a lower combined amount to the company’s bank account. If only that bank transfer is recorded, gross revenue may be understated while processing fees and refunds disappear from the accounting records. For this reason, Stripe should normally be tracked as a separate payment balance. Your accountant needs to connect the opening balance, gross customer payments, fees, refunds, disputed transactions, currency movements and bank transfers to the closing balance.
What needs to be reconciled?
| Transaction | What Stripe shows | What accounting needs to identify |
|---|---|---|
| Customer payment | Successful payment | Gross sale and correct VAT treatment |
| Stripe fee | Processing deduction | Separate business expense and supporting records |
| Refund | Money returned to customer | Revenue and tax adjustment where required |
| Disputed payment | Customer or bank dispute | Accounting treatment and possible correction |
| Bank transfer | Net amount transferred | Settlement of the Stripe balance, not a new sale |
Stripe does not file your Bulgarian tax reports
Even when invoices are generated correctly, the transactions still need to enter the Bulgarian accounting and tax reporting system. Depending on the company’s VAT status and the nature of the transactions, sales may need to be included in VAT reporting. VIES or OSS obligations may also become relevant in certain cases.
The same transactions must also be recorded in the company’s accounting ledgers, year-end accounts, corporate tax calculations and annual financial statements. Stripe does not perform these Bulgarian compliance steps simply because it stores invoices and payment data. The platform is therefore best viewed as a source of accounting information, not as the accounting record itself.
Refunds, discounts and disputed payments need accounting treatment too
Subscription businesses rarely have only perfect recurring payments. Customers cancel plans, receive partial refunds, use discounts, dispute card transactions or fail to pay successfully. Stripe can manage many of these events automatically from a billing perspective, but accounting consequences can still arise.
If an invoice has already been reported for a previous period, changing or deleting information inside Stripe may not be enough. Depending on the transaction, a credit document, accounting adjustment or tax correction may be required.
This is why retrospective changes should not be made in isolation. The accounting records, VAT reporting, issued invoices and Stripe history should continue to tell the same story.
What should your accountant receive regularly?
A well-organised process does not require your accountant to inspect every payment manually. What matters is having complete and consistent information for each reporting period so that Stripe can be reconciled efficiently.
- issued invoices;
- transaction reports;
- Stripe balance reports;
- bank transfer reconciliation reports;
- processing fee information;
- refund and disputed payment data;
- currency conversion information;
- customer location and VAT status data.
Setting up this process early becomes increasingly valuable as transaction volumes grow. A business with ten payments per month can often resolve differences manually. A business with hundreds or thousands of recurring transactions can turn one small configuration problem into a major accounting project. 📄
Common Stripe accounting mistakes
One of the most common mistakes is recording only the bank transfer from Stripe as turnover. This can understate sales and leave processing fees unrecorded. It may also create differences between VAT reporting, issued invoices and the revenue appearing in the accounts.
Another common mistake is allowing automated VAT logic to run without review. Stripe follows the rules configured in the account. It does not independently assume responsibility for whether those rules comply with Bulgarian tax treatment for every customer and every service.
- Recording only net bank transfers.
- Ignoring Stripe fees as separate transactions.
- Failing to reconcile refunds and disputes.
- Using the same VAT treatment for every customer.
- Changing historical invoices without accounting review.
- Providing incomplete reports to the accountant.
Configure Stripe together with the accounting process
The most efficient model is to design billing and accounting together. Before subscription volumes grow, decide how invoices will be created, how customer VAT status will be checked, which reports will be exported each month and how transfers from Stripe will be reconciled with the bank. This does not make automation more complicated. In fact, it makes automation more useful. When the information is structured consistently, month-end and year-end accounting becomes faster and the risk of unexplained differences is reduced.
Conclusion: automate billing, not responsibility
Stripe Billing is a powerful tool for SaaS businesses, digital services and subscription companies. It can reduce administrative work and make payment collection much easier. What it cannot do is take responsibility for the Bulgarian company’s accounting and tax compliance.
If you already use Stripe, the best time to establish a proper accounting process is before transaction volumes become difficult to manage. Review invoice settings, VAT logic, bank transfers, refunds and reporting while the system is still easy to adjust.
If your Bulgarian company already uses Stripe or plans to introduce recurring payments, you can review the accounting support available from T&G Consulting and assess whether your current Stripe workflow provides the information needed for accurate Bulgarian accounting. 👉For useful and interesting information, visit our partners’ channel.
This content is provided for general information only and does not constitute individual tax, accounting or legal advice. The correct treatment depends on the specific transactions and circumstances.
