- 1WooCommerce QuickBooks Entegrasyonu Oluşturmanın Üç Yolu
- 2Sipariş Düzeyinde Senkronizasyon Neden Mutabakatı Bozar
- 3Çalışan bir örnek
- 4“Açık Kaynaklı - Ücretsiz Bir Eklenti Bunu Halletmeli”
- 5İşe Yarayan Mimari: Hesapları Temizleme, Günlük Özetler, Ücret Satırları
- 6In LedgerPort, this architecture is a settings page
- 7Bir Eklenti Yeterli Olduğunda - ve Ne Zaman Yeterli Olmadığında
- 8The engineering bar a sync layer should clear
- 9Otomatikleştirildiğinde Bu Nasıl Görünür
- 10And when a webhook fails — because one will
- 11Esneklik Vergisi
Siparişleri QuickBooks'e almak kolay kısımdır. Bu rehber, eklenti listesinin bahsetmediği kısım hakkında: defterlerin bankayla eşleşmesini sağlamak.
QuickBooks Online dosyanızda 1.400 yeni fatura var ve bunların her biri doğru.
Bağlayıcıyı yüklediniz, birkaç alanı eşleştirdiniz ve çalışmasını izlediniz. Her WooCommerce siparişi, müşteri adı, ürün kalemleri, nakliye ve vergi ile QBO'ya ulaştı. Eklentinin özellik sayfasındaki her ölçüte göre, WooCommerce QuickBooks entegrasyonunuz tamamlanmıştı.
Sonra banka akışını açtınız. Stripe Pazartesi günü 6.782,40 ABD Doları yatırdı. PayPal Çarşamba günü 1.911 ABD Doları gönderdi. Ve bu 1.400 faturadan hiçbiri - hiçbiri - bu rakamlardan biriyle eşleşmiyor. QuickBooks şimdi sizi düzinelerce açık faturadan tek bir mevduatı eşleştirmeye zorluyor, hiçbiri toplamı ona uymuyor.
Eğer bu durumu yaşadıysanız, muhtemelen çoğu mağaza sahibinin yaptığı şeyi yaptınız: eklentiyi kaldırdınız, CSV dışa aktarmalarına geri döndünüz ve tüm kategorinin bozuk olduğuna karar verdiniz. Bozuk değil. Ancak size satılan şey - sipariş senkronizasyonu - asla asıl sorun değildi.
Asıl sorun, WooCommerce ve banka hesabınızın iki farklı gerçeği tanımlamasıdır ve hiçbir sipariş senkronizasyonu bunların arasında çeviri yapmaz. Bu yazı nedenini, rakamlarla birlikte açıklıyor ve gerçekten mutabakat sağlayan kurulumu adım adım anlatıyor.
WooCommerce QuickBooks Entegrasyonu Oluşturmanın Üç Yolu
Genel olarak, her yaklaşım üç kategoriden birine girer.
1. Resmi QuickBooks Bağlayıcısı. Intuit'in kendi bağlayıcısı (eski OneSaas motoru üzerine kurulu) WooCommerce siparişlerini fatura veya satış makbuzu olarak QBO'ya aktarır. Uygun fiyatlıdır, Intuit tarafından desteklenir ve temel sipariş kopyalama için vaat ettiğini yapar. Bildiği tek şey siparişlerdir - bir müşterinin ne aldığı ve WooCommerce'in onlardan ne kadar ücret aldığı.
2. Özel senkronizasyon eklentileri. MyWorks Sync gibi araçlar çok daha derine iner: çift yönlü senkronizasyon, ayrıntılı alan eşleme, envanter ve müşteri senkronizasyonu, gerçek zamanlı aktarımlar. İşletmeniz bireysel faturalara dayanıyorsa - toptan satış hesapları, B2B müşterileri, belirli kişilere bağlı ödemeler - bu sipariş başına sadakat gerçekten değerlidir ve MyWorks bu konuda güçlüdür. Eğer bu yolu düşünüyorsanız, ayrıntılı bir karşılaştırmayı LedgerPort vs. MyWorks adresinde yazdık.
3. Manuel CSV dışa aktarmaları. WooCommerce'ten siparişleri dışa aktarın, elektronik tabloyu düzenleyin, QBO'ya manuel olarak yevmiye kayıtları girin. Tam kontrol, sıfır yazılım maliyeti ve hacme bağlı olarak ayda iki ila sekiz saat arasında bir zaman - artı yorgun bir insanın üçüncü saatte yaptığı her hata.
| Yöntem | Neleri taşır | Maliyet | Bankayla mutabakat sağlar mı? |
|---|---|---|---|
| QuickBooks Bağlayıcısı | Siparişler → faturalar/makbuzlar | Düşük | Kendi başına değil |
| Eşitleme eklentisi (ör. MyWorks) | Siparişler, müşteriler, envanter | ₺ – ₺₺ | Yalnızca dikkatli ödeme yapılandırmasıyla |
| Manuel CSV | Ne yazarsanız yazın | Sizin zamanınız | Yalnızca ödeme hesaplamalarını kendiniz yaparsanız |
Üçünün de ortak noktasını fark edin: hepsi sipariş verilerinden başlar. Ve sipariş verileri, ihtiyacınız olan veri setinin yalnızca yarısıdır.
Sipariş Düzeyinde Senkronizasyon Neden Mutabakatı Bozar
İşte yapısal sorun bu ve seçtiğiniz eklentiyle hiçbir ilgisi yok.
WooCommerce siparişleri bilir: müşteri, ürünler, toplamlar, vergi. Stripe'ın işlem ücretleri olarak ne kadar kestiğini, PayPal'ın ne zaman bir ödemeyi toplu hale getirdiğini, geçen haftadan hangi iadenin bu haftanın mevduatına karşı netleştirildiğini veya Salı günkü ödemeyi bir geri ödeme ücretinin nasıl etkilediğini bilmez. Bu bilgiler, ödeme ağ geçitlerinizde bulunur — tamamen ayrı bir veri kümesi, tamamen ayrı bir zaman çizelgesinde.
Bu arada banka akışınız yalnızca ağ geçidinin hikayenin bir tarafını görür: ağ geçidinin zaman çizelgesinde toplu olarak net mevduatlar. Bu nedenle, bir eşitleme aracı siparişleri QBO'ya kopyaladığında, banka hesabınızın asla onaylamayacağı bir veri kümesini doğru bir şekilde kaydeder.
Çalışan bir örnek
Diyelim ki mağazanız hafta sonu boyunca 96 sipariş alıyor ve toplamda 7.200 ₺ brüt tutuyor. WooCommerce bunu üç ayrı günlük satış olarak raporlar ve sipariş düzeyindeki eşitlemeniz QBO'da 96 fatura oluşturur.
Pazartesi günü Stripe tek bir ödeme gönderir:
| Stripe ödemesi — Pazartesi | Tutar |
|---|---|
| Brüt hafta sonu satışları (96 sipariş) | $7,200.00 |
| İşlem ücretleri (%2,9 + 0,30 ₺ × 96) | −237,60 ₺ |
| İadeler (geçen haftadan 2 sipariş) | −180,00 ₺ |
| Banka hesabınıza net mevduat | $6,782.40 |
QuickBooks şimdi Cuma, Cumartesi ve Pazar günlerine yayılmış toplam 7.200 ₺ tutarında 96 fatura tutuyor. Banka akışınız 6.782,40 ₺ tutarında tek bir Pazartesi mevduatı tutuyor. 237,60 ₺'lik ücretler defterlerinizde hiçbir yerde görünmüyor. 180 ₺'lik iadeler bu hafta sonu verilerinde bile olmayan siparişlere ait. Bu 96 faturanın hiçbir kombinasyonu o mevduata eşit değil — matematik yapı gereği eşleştirilemez.
Her ödeme, her ağ geçidi, her ay ile çarpın. İşte 1.400 kusursuz faturayla ve hiçbiriyle uyuşmayan bir banka akışıyla karşılaşmanızın nedeni budur.
[RESİM: WooCommerce sipariş verilerini ve Stripe ödeme verilerini iki ayrı akış olarak gösteren, banka akışının yalnızca ödeme akışına bağlı olduğu — ve ücretlerin ve iade zamanlamasının bulunduğu boşluğun olduğu bir diyagram]
Bu noktada çoğu insan üç şeyden birine karar verir: bazıları bir muhasebeci tutmaları gerektiğini düşünür, bazıları tablolara geri döner ve bazıları sorunun mimari olduğunu fark edip mimariyi düzeltir. Bu bölüm üçüncü grup içindir.
“Açık Kaynaklı - Ücretsiz Bir Eklenti Bunu Halletmeli”
Varsayımı doğrudan adlandıralım, çünkü makul ve yanlış.
WooCommerce açık kaynaklıdır, ekosistemde her şey için bir eklenti vardır ve çoğu ücretsiz veya ucuzdur. Bu yüzden içgüdü şudur: ücretsiz bir eklenti QuickBooks'i de halletmelidir. Ve ücretsiz bir eklenti, eklentilerin iyi olduğu şeyi — sipariş verilerini bir veritabanından diğerine taşımayı — halledebilir. Bu kısım gerçekten çözülmüş bir sorundur.
But reconciliation isn’t a data-transfer problem. It’s a translation problem between two datasets that disagree about amounts (gross vs. net), timing (order date vs. payout date), and scope (this weekend’s orders vs. last week’s refunds). No plugin fixes that by moving orders faster or mapping fields more precisely — you didn’t configure it wrong, and neither did the plugin developer. The tool solved the problem it understood. The problem you actually have is bigger than the tool’s model of it.
İşe Yarayan Mimari: Hesapları Temizleme, Günlük Özetler, Ücret Satırları
The fix is a structure accountants have used for decades, applied to gateways. Three components: a clearing account per gateway, daily summaries instead of per-order invoices, and explicit fee lines on every payout. Here’s the manual setup, step by step.
Create a clearing account for each gateway. In QBO, add an account of type Other Current Asset named “Stripe Clearing,” another for “PayPal Clearing,” and one per additional gateway. This account represents money customers have paid that hasn’t reached your bank yet — which is exactly what it is.
Post daily sales summaries instead of individual invoices. Once per day, record one entry per gateway: gross sales, discounts, refunds issued, shipping income, and sales tax collected. Debit the clearing account for the gross amount; credit your income, shipping, and tax-liability accounts. Your P&L now shows revenue by day — which is all tax prep and margin analysis need — without 96 orphan invoices. (If you’re setting up income and tax accounts from scratch, our WooCommerce bookkeeping guide covers the full chart-of-accounts structure.)
Record each payout as a journal entry when it lands. Credit the clearing account for the payout’s gross amount. Debit your checking account for the net deposit. Debit a “Merchant Processing Fees” expense account for the fee difference, and post refund reversals against income. Using the weekend example: credit Stripe Clearing $7,200, debit checking $6,782.40, debit fees $237.60, book the $180 of refunds against revenue. Every dollar now has a home.
Match the deposit in the bank feed. Because your journal entry’s bank line is $6,782.40 and the deposit is $6,782.40, QuickBooks matches them in one click. This is the moment the whole structure pays off: reconciliation becomes confirmation instead of investigation.
Watch the clearing account balance. It should hover near the amount currently in transit with the gateway — a few days of sales, nothing more. A steadily growing balance means fees or refunds are going unrecorded somewhere. This single number is your early-warning system, and it’s the first thing a good CPA will check.
[IMAGE: Flow diagram — daily summary entries flowing into a Stripe Clearing account, then a payout journal splitting out to Checking (net) and Processing Fees (expense), with the bank feed match at the end]
Elle elle yapıldığında, yetkin bir muhasebeci haftada her bir geçit için 30-60 dakika harcar ve her adımda bir yazım hatası şansı vardır. Ancak yapı doğru - ve yapı, sipariş senkronizasyon eklentisinin size vermediği şeydir.
In LedgerPort, this architecture is a settings page
If those five steps sound like a lot of journal discipline, here’s the part worth knowing: in LedgerPort’s WooCommerce plugin, each component exists as configuration. The Payments tab of Sync Config auto-detects every payment gateway active on your store and assigns each one its own clearing account, with a default clearing account as the fallback for anything you haven’t configured. One clearing account per gateway isn’t journal gymnastics — it’s a dropdown per gateway.

Tax gets the same treatment: sales tax posts to a QuickBooks liability account you designate, and a rounding line item absorbs the cent-level differences between WooCommerce’s tax math and QuickBooks’ — the reconciliation papercut nobody warns you about. How orders post is one more dropdown: Sales Receipt for paid orders, Invoice when payment comes later, Estimate for quotes. And the taxonomy of sync methods is platform-general — the docs’ own guidance puts roughly 100+ orders a day as the point where per-order records stop being bookkeeping and start being sediment, which is exactly where daily summaries earn their keep.
None of this demands a configuration project, either. Per the docs’ own FAQ, every tab ships with sensible defaults — most stores can start syncing without touching Sync Config at all, and tighten the settings later as the books demand it.
Bir Eklenti Yeterli Olduğunda - ve Ne Zaman Yeterli Olmadığında
Dürüst cevap: bazen sipariş düzeyindeki araçlar doğru seçimdir.
Bir sipariş düzeyinde senkronizasyon eklentisi muhtemelen yeterlidir eğer: ayda kabaca 100-200 sipariş alıyorsanız ve boşlukları gözden kaçırabiliyorsanız; basit, seyrek iadelerle tek bir geçit kullanıyorsanız; veya işletmeniz fatura odaklıysa - toptan satış ve B2B mağazaları, ödemelerin gerçekten belirli müşteri faturalarına bağlandığı yerlerdir. Son durumda, sipariş başına senkronizasyon bir hata değil, gereksinimdir ve MyWorks gibi bir araç tam olarak bunun için tasarlanmıştır.
Ödeme farkındalığı katmanına ihtiyacınız varsa: birden fazla geçit kullanıyorsanız (Stripe artı PayPal çoğu mağazanın sınırı aştığı yerdir); iadeler ve anlaşmazlıklar haftalık bir gerçeklikse; hacminiz sipariş başına girişleri yönetilemez hale getiriyorsa; veya bir YMM (Yeminli Mali Müşavir) her ay defterlerinizi kapatıyor ve banka akışının eşleşmesini bekliyorsa. O noktada, yalnızca sipariş verileri, ne kadar iyi senkronize olursa olsun, mutabakatı yapılabilecek defterler üretemez.
Ödeme farkındalığı yolunu tercih ediyorsanız, bir sonraki adımda üç pratik itiraz ortaya çıkar:
“Aboneliklerimi halleder mi?” LedgerPort standart WooCommerce sipariş ve müşteri verilerini senkronize eder ve WooCommerce bunları oluşturduğunda abonelik yenilemeleri normal siparişler olarak gelir - böylece yinelenen gelir aynı işlem hattından akar, yapılandırılacak özel bir şey yoktur.
“Ya bir senkronizasyon sessizce başarısız olursa?” Gerçek zamanlı senkronizasyon WooCommerce webhook'larına dayanır ve WooCommerce başarısız teslimatları otomatik olarak yeniden dener. Hala bir şeyler atlarsa, wp-admin içindeki Manuel Senkronizasyon sayfası isteğe bağlı olarak veri gönderir - asla bir siparişi yeniden göndermesi için desteği beklemezsiniz.
“Birden fazla mağazayı tek bir hesapla çalıştırabilir miyim?” Evet - bağlanan her mağaza, planınızın limitine karşı bir bağlantı olarak sayılır, Bağlantı sayfasında görünür. Diğer pratik sorular (HPOS uyumluluğu, kimlik bilgileri depolama, gerekli kullanıcı rolleri) WooCommerce için LedgerPort ile Başlarken bölümünde yanıtlanmıştır.
The engineering bar a sync layer should clear
There’s one more evaluation axis, and it’s the one plugin listings never show: what the software does to your store when it connects — and when it leaves. LedgerPort’s provisioning is automatic and transactional. Connecting creates a read-only WooCommerce REST API key — it reads your store, it doesn’t write to it — and registers 13 named webhooks covering orders, products, variations, customers, and refunds. If any provisioning step fails midway, everything already completed is rolled back automatically, so your store is never left half-configured.

The rest of the security posture is equally checkable: credentials are stored AES-256-CBC-encrypted using your site’s own WordPress security keys, connecting requires the manage_woocommerce capability (Administrators and Shop Managers), and LedgerPort never touches webhooks you created yourself. Disconnecting is just as clean — it deletes exactly the API key and webhooks it created, your store and orders are untouched, and your mappings survive for reconnection. A botched first attempt costs nothing.
The same discipline shows up when a sync goes wrong. Failures aren’t a silent gap or a PHP notice — they’re a named taxonomy with documented fixes: an expired QuickBooks token (the docs’ own pick for the most common sync error), an unmapped product, a duplicate entry, a missing required field. Each error states its cause and its recovery path. That, more than any feature checkbox, is the real boundary of “a plugin is enough”: it ends where unrecoverable, invisible failure begins.
Otomatikleştirildiğinde Bu Nasıl Görünür
LedgerPort, bu ödeme farkındalığı katmanı olarak oluşturulmuştur ve WooCommerce'i Shopify'ın yanı sıra destekler. Mağazanızı *ve* geçitlerinizi bağlar, ardından yukarıdaki mimariyi otomatik olarak çalıştırır: günlük özetler geçit temizleme hesaplarına gönderilir, ücretleri ayrılmış ödeme makbuzları, banka akışınızla kuruşuna kadar eşleşen mevduatlar. Kurulum yaklaşık 15 dakika sürer ve anlamlı hacme sahip mağazalar her hafta saatler kazandıklarını bildirir.
İşte baştan sona tüm WooCommerce kurulumu:
Eklentiyi yükleyin. WordPress yöneticinizde Eklentiler » Yeni Eklenti Ekle'ye gidin, LedgerPort'u arayın, Şimdi Yükle'ye, ardından Etkinleştir'e tıklayın. Sitenizde HTTPS ve bir LedgerPort hesabına ihtiyacınız olacak - tam kurulum kılavuzu her iki ön koşulu da kapsar.
Run the Setup Wizard. After activation, LedgerPort opens the wizard automatically as a full-screen overlay. Click Connect to LedgerPort to begin.
Authorize the connection. You’re redirected to app.ledgerport.com to log in, pick the business you’re connecting, and click Authorize — then sent straight back to your WordPress admin.

- Let provisioning run. LedgerPort creates a WooCommerce REST API key with read access, registers webhooks for orders, refunds, products, and customers, and confirms the connection. If any step fails, everything rolls back automatically — no half-configured store. When it succeeds, you land on the LedgerPort Dashboard, connected.

From there, everything lives under a LedgerPort menu inside wp-admin — Dashboard, Mappings, Manual Sync, Audit Logs — so checking on the plumbing never means leaving WordPress. And the clearing-account structure from the previous section isn’t a separate configuration project: it’s the Daily Summary sync method, one dropdown among five, chosen once.

And when a webhook fails — because one will
Real-time sync rides on webhooks, and webhooks are honest about their nature: sooner or later, a delivery fails. The question most free plugins can’t answer is what happens next. Here the answer has layers. WooCommerce itself retries failed webhook deliveries automatically. Anything that still slips through doesn’t vanish — it surfaces as a per-record sync status, recoverable from the Manual Sync page inside wp-admin.

The workflow is checkbox selection, then Push Selected or Push All, then a live progress modal that shows each record land or fail — with a reason attached, not just a red icon. And the detail that makes catch-up after an outage safe: pushing is guaranteed not to duplicate. Already-synced records are skipped automatically, and re-pushing a failed record creates or updates the QuickBooks entry rather than posting it twice. “Select everything, push all” after a bad week can’t double-post revenue.

Two more facts from the FAQ that belong here: the plugin is fully compatible with WooCommerce’s High-Performance Order Storage with zero extra configuration, and — as covered above — WooCommerce Subscriptions renewals ride the same pipeline as regular orders. Historical backfill uses this same page, too, which means “we’ve been on spreadsheets all year” is an import, not a data-entry project: page through the year, push, watch the statuses turn green.
The trade-off, stated plainly: LedgerPort summarizes. It won’t sync individual customer records or manage inventory in QBO — if your business needs per-customer invoices, a tool like MyWorks remains the stronger fit, and the comparison walks through that line honestly.
Pricing starts at free — up to 30 orders a month, one store, manual sync on demand — so you can watch a real payout reconcile before paying anything. Growth runs from $25/month with daily automated sync; Scale, from $67/month, adds real-time sync plus the payout journals and fee handling this post is about. Every paid plan carries a 14-day unconditional money-back guarantee — not a trial, a full refund, no questions asked.
Esneklik Vergisi
Here’s the tragicomic truth about WooCommerce: the thing that makes it great is the thing that breaks your books.
You can run any gateway, any checkout plugin, any subscription extension, any regional payment method — and the ecosystem will support all of it. That flexibility is genuinely why you chose the platform. But it also means your financial data originates from four or five systems that never agreed to speak the same language, and the accounting layer inherits every one of those dialects.
Eklenti ekosistemi bunu sizin için yapılandıramaz, çünkü yapı, açık bir ekosistemin dayatmadığı şeydir. Bu nedenle yapı, muhasebe katmanında yaşamalıdır: hesapları kapatma, günlük özetler, ücret satırları. Bu, diğer her yerdeki esneklik için ödediğiniz vergidir - ve bir zamanlar sipariş senkronizasyonunun sizin için ödemesini beklemeyi bıraktığınızda adil bir fiyattır.
Açılıştaki 1.400 fatura yanlış değildi. Sadece bankanızın hiç sormadığı bir soruyu yanıtlıyorlardı. Eğer kayıtlarınızın doğru olanı yanıtlamasını tercih ederseniz, WooCommerce mağazanızı LedgerPort'a bağlayın - ücretsiz plan ilk ödemenizi kapsar ve para yatırma işlemi eşleştiği anda mimarinin çalıştığını bileceksiniz.
