Кейсы · Сверка · закрытие месяца
Закрытие марта по семи каналам: что продано, что пришло, где остальное
Собственный кейс на синтетических данных в документированных форматах, расхождения внесены намеренно. Код сверки читает только файлы, но его писал тот же человек, который вносил расхождения, поэтому это демонстрация метода, а не слепая проверка.
Цель
Магазин продаёт через собственный магазин на Shopify, где покупатели платят картой, через PayPal, Klarna, банковским переводом или наличными на кассе; на amazon.de; и по счёту американскому оптовому клиенту через Stripe, в долларах. В конце марта владелец спрашивает, сколько на самом деле пришло за месяц и где остальные деньги.
Сложность
Одиннадцать файлов по семи каналам: заказы Shopify, Shopify Payments, PayPal, Klarna, заказы и расчёты Amazon, Stripe в долларах и два банковских счёта. Никакие два не пишут одно и то же одинаково: продажа в Klarna — три строки с ключом UUID, Amazon пишет строку на каждый вид суммы, а в банке строка на выплату и ни одной на заказ.
Решение
Правила записали до подсчёта: какие продажи относятся к марту, что деньги получены, когда их зачислил банк, отсечки каждого провайдера, комиссии по договорам, а поступления, которые не деньги покупателей, — отдельно. Каждый заказ связан со своим провайдером, каждая выплата — со строкой банка, и мост от продаж до банка по каждому каналу сведён до цента.
Результат
В марте пришло 422 108,80 € и 32 753,08 $. 93 170,12 € на 31 марта до счёта не дошли: 42 234 € выплачены в марте и зачислены в апреле, 33 656 € ещё не выплачены, 7 938 € держат провайдеры, а 9 341,59 € — выплата, которую банк так и не зачислил. 28 записей не сошлись, и для каждой сказано, что делать. 33 132 €, пришедшие на счёт, — не выручка: перевод со сберегательного счёта, обмен валюты и заём участника. 119 возвратов на 12 307,90 € ещё уйдут.
28 записей, которые не сошлись
Скачать JSONТак, как их выдаёт закрытие, и как данные для собственных инструментов магазина. Записи на английском, как в документе; суммы в евро, если не указано USD.
Показано 28 из 28
| Канал | Что не так | Номер или дата | В магазине | У провайдера | В банке | Разница | Что сделать |
|---|---|---|---|---|---|---|---|
| Shopify Payments | Order paid, no card charge | #10394 | 38.95 | — | — | -38.95 | Ask Shopify support; the order may have been marked paid by hand |
| Shopify Payments | Charged less than the order | #9838 | 273.00 | 260.50 | — | -12.50 | Collect the difference or correct the order |
| Shopify Payments | Order paid, no card charge | #8935 | 337.85 | — | — | -337.85 | Ask Shopify support; the order may have been marked paid by hand |
| Shopify Payments | Charged less than the order | #8345 | 52.95 | 48.00 | — | -4.95 | Collect the difference or correct the order |
| Shopify Payments | Charged twice | #7560 | 266.00 | 266.00 + 266.00 | — | 266.00 | Refunded already; the fee of the second charge was kept |
| Shopify Payments | Card charged for an order paid through PayPal | #9031 | 47.95 | 47.95 | — | 47.95 | The customer paid twice: refund one of the two payments |
| Shopify Payments | Card charged for an order paid through PayPal | #9490 | 745.00 | 745.00 | — | 745.00 | The customer paid twice: refund one of the two payments |
| Shopify Payments | Card refund differs from the order's refund | #9090 | 99.00 | 103.95 | — | -4.95 | Find who refunded the difference and why |
| Shopify Payments | Adjustment with no order | 2026-03-12 | — | -23.40 | — | -23.40 | Ask Shopify what the adjustment was for |
| Shopify Payments | Chargeback, the order still reads paid | #7795 | 154.00 | -154.00 and a 15.00 fee | — | -169.00 | Answer the dispute, or record it on the order |
| Shopify Payments | Payout never reached the bank | payout 2026-03-18 | — | 9341.59 | — | -9341.59 | Ask Shopify for the payout's trace; check the bank account on file |
| PayPal | Order paid, no PayPal payment | #8041 | 582.00 | — | — | -582.00 | Search PayPal by the customer's e-mail; the order may be marked paid by mistake |
| PayPal | Refund in PayPal, none in the shop | #9232 | 0.00 | -45.00 | — | -45.00 | Find who refunded it and why; record it in the shop or claim it back |
| Klarna | Fee above the contract (3.49% for 2.99%) | KL202603234928 | 2.99% | 3.49% | — | -146.50 | Claim the difference from Klarna |
| Klarna | Held back as a rolling reserve | KL202603234928 | — | 2000.00 | — | -2000.00 | Ask Klarna why and until when; it is the shop's money |
| Bank transfer | Customer paid a different amount | #8067 | 224.10 | — | 209.10 | -15.00 | Probably the customer's bank charges; invoice them or write it off |
| Cash | Deposit differs from the till | week of 09 March | 1748.00 | — | 1708.00 | -40.00 | Count the till against the day reports of that week |
| Amazon | Cancelled, but charged | 302-2534212-3499741 NO-BTL-75 | Cancelled | 27.90 | — | 27.90 | Refund the customer |
| Amazon | Paid less than the price | 304-4103772-7671362 NO-CBL-02 | 14.90 | 9.90 | — | -5.00 | Open a case with Seller Support |
| Amazon | Commission above the rate card | 302-5103311-7220635 NO-PWR-10 | 2.44 | 5.24 | — | -2.80 | Open a case with Seller Support |
| Amazon | Shipped, never paid | 306-2995046-5638590 NO-SCK-02 | 24.90 | — | — | -24.90 | Open a case with Seller Support |
| Amazon | FBA fee charged twice | 303-3618526-6250112 NO-SCK-02 | -3.12 | -6.24 | — | -3.12 | Open a case with Seller Support |
| Amazon | Shipped, never paid | 304-7670079-7856065 NO-LMP-35 | 39.90 | — | — | -39.90 | Open a case with Seller Support |
| Amazon | Shipped, never paid | 304-7670079-7856065 NO-SPK-01 | 39.80 | — | — | -39.80 | Open a case with Seller Support |
| Amazon | Charge with no order in the report | 302-8819284-1290456 NO-LMP-35 | — | 39.90 | — | 39.90 | Check whether the report was pulled before this order |
| Amazon | Refund larger than the sale | 304-4179934-8659362 NO-GLV-01 | 34.90 | 69.80 | — | -34.90 | Open a case with Seller Support |
| Stripe (USD) | Invoice due, not paid | NO-US-2026-007 | USD 3880.00 | — | — | USD -3880.00 | Remind the customer |
| Bank | Credit nobody can place | 26.03.2026 | — | — | 310.00 | 310.00 | Ask the bank for the payer's details |
Ни одна запись не подходит под фильтр.
Услуга
Сверка для ваших файлов
Тот же подход к вашим выгрузкам: сначала письменные определения, потом независимый пересчёт.


