- 1Ang Chart of Accounts na Mukhang Tama Hanggang sa Pagsasara ng Buwan
- 2Bakit ang Net Payout Structure ng Shopify ang Problema sa Arkitektura
- 3Mga Desisyon 1 at 2: Gross Revenue Accounts at ang Clearing Account
- 4Mga Desisyon 3 at 4: Paghihiwalay ng Bayarin at Paghawak ng Refund
- 5Desisyon 5: Buwis sa Benta bilang Pananagutan Mula Araw Uno
- 6Ang Chart of Accounts na Nagsasara sa Isang Araw
- 7Isang desisyon pa: ang sync method na ipo-post sa mga account na ito
Kumuha ka ng bagong kliyente sa Shopify. Buuin mo ang kanilang chart of accounts sa QuickBooks Online — limang kategorya, makatuwirang mga sub-account, pag-numero ng account na sumusunod sa karaniwang kumbensyon. Ikonekta mo ang Shopify integration. Mukhang tama ang lahat sa papel.
Pagkatapos ay dumating ang unang Shopify payout.
Nagdeposito ang Shopify ng $14,200 sa bangko. Ang QuickBooks ay nagpapakita ng $15,800 sa Shopify revenue. Ang Shopify dashboard ay nag-uulat ng $16,100 sa gross sales. Tatlong magkakaibang numero, parehong aktibidad ng buwan, wala sa mga ito ang magkatugma. Gumugol ka ng apat na oras sa pagtugis sa pagkakaiba. Sa huli ay makikita mo ito: mga bayarin na naitala bilang bank transfer, mga refund na hindi na-post sa tamang mga account, isang halaga ng pagkolekta ng buwis na nasa revenue sa halip na isang liability. Walang nawawala sa chart of accounts. Hindi lang ito ginawa para sa kung paano talaga naglilipat ng pera ang Shopify.
Narito ang maling palagay na pinagbabatayan ng karamihan sa mga gabay sa CoA: kung mayroon kang tamang mga account sa tamang mga kategorya, gagana ang rekonsilasyon — ito ay isang bagay lamang ng paggawa ng trabaho bawat buwan. Hindi iyon totoo para sa Shopify. Ang mga pangalan at numero ng account ay mga pangunahing kailangan. Ang nagpapasya kung ang iyong mga libro sa Shopify ay magre-reconcile ay kung ang chart of accounts ay arkitektural na tugma sa kung paano ipinapadala ng Shopify ang mga pondo — bilang isang net payout, hindi bilang gross revenue. Limang partikular na desisyon sa pagmamapa ang magpapasya kung ang pagsasara ng buwan ay tumatagal ng 30 minuto o karamihan ng isang hapon.
PAGKAKAIBA NG ORAS
4 na oras
vs. 30 minuto — parehong pagsasara ng buwan
Ang pagkakaiba ay hindi sa dami ng trabahong ginagawa mo. Ito ay kung ang chart of accounts ay idinisenyo upang matanggap nang tama ang net payout ng Shopify sa unang lugar.
Ang Chart of Accounts na Mukhang Tama Hanggang sa Pagsasara ng Buwan
Karamihan sa mga karaniwang template ng chart of accounts — kahit na ang mga partikular sa ecommerce — ay ginawa batay sa palagay na ang kita ay dumarating bilang gross revenue. Ang isang benta na $100 ay nai-post bilang $100 na kita. Ang mga bayarin ay naitala kapag binayaran mo ang mga ito. Ganyan gumagana ang karamihan sa mga negosyo.
Hindi ganyan gumagana ang Shopify.
Hindi nagpapadala sa iyo ang Shopify ng $100 kapag ang isang customer ay nagbayad ng $100. Nagpapadala ito sa iyo ng net payout — gross sales minus mga bayarin sa pagproseso ng pagbabayad, minus mga refund, minus mga bayarin sa transaksyon ng Shopify, minsan minus buwis sa benta na nakolekta para sa iyo, lahat ay pinagsama sa isang solong bank transfer na sumasaklaw sa isa hanggang labing-apat na araw ng mga order. Sa oras na maabot ng payout na iyon ang bank account ng iyong kliyente, ito ay kumakatawan sa hindi bababa sa limang magkakaibang kaganapang pinansyal. Kailangang matanggap at ma-disaggregate ng iyong chart of accounts ang lahat ng lima, kung hindi, mabibigo ang rekonsilasyon bawat buwan.
Hindi mali ang mga account. Ang arkitektura ang mali.
Bakit ang Net Payout Structure ng Shopify ang Problema sa Arkitektura
Narito ang karaniwang nilalaman ng isang Shopify payout, na hinati bilang mga line item:
- Kabuuang benta — kita mula sa lahat ng order sa panahon ng pagbabayad
- Mga bayarin sa pagproseso ng pagbabayad — karaniwang 2.9% + $0.30 bawat online na transaksyon para sa Shopify Payments (Basic plan); ibinabawas bago ang pagbabayad
- Mga bayarin sa transaksyon ng Shopify — karagdagang 2% bawat transaksyon kung ang tindahan ay *hindi* gumagamit ng Shopify Payments; karaniwan sa mga lumang plano
- Mga refund na ibinigay — kabuuang mga refund para sa mga ibinalik na order sa panahon ng pagbabayad
- Buwis sa benta na pinadali ng marketplace — mga halagang nakolekta ng Shopify at direktang ipapadala sa mga awtoridad ng estado sa ngalan ng mangangalakal (sa karamihan ng mga estado sa US, ang Shopify ang tagapagpadali ng marketplace)
Kapag ang iyong integrasyon ay nagmamapa ng deposito nang direkta sa isang "Shopify Sales" income account, pinagsasama mo ang lahat ng limang kaganapan sa isang numero. Ang kita ay nababawasan dahil ang mga bayarin ay naibawas na. Ang mga gastos sa bayarin ay hindi nakikita. Ang balance sheet ay nagdadala ng phantom tax liability dahil naitala mo ang pagkolekta ng buwis bilang kita.
Ang solusyon ay hindi paglilinis pagkatapos ng katotohanan buwan-buwan. Ito ay pagbuo ng chart of accounts upang ang bawat bahagi ay awtomatikong mapunta sa tamang account — at isang clearing account ang mag-uugnay sa kanila pabalik sa deposito sa bangko. Nangangailangan iyon ng limang tiyak na desisyon. Ang downstream na gastos sa maling pagkuha sa mga ito ay ang oras na isinusuko ng iyong kumpanya sa mga pakikipag-ugnayan sa e-commerce.
Mga Desisyon 1 at 2: Gross Revenue Accounts at ang Clearing Account
Desisyon 1: Itala ang kabuuang benta bilang kita, hindi ang halaga ng deposito.
Dapat ipakita ng iyong mga income account kung ano talaga ang ibinayad ng mga customer — bago ibawas ng Shopify ang anumang bagay. Gumawa ng magkakahiwalay na income account para sa bawat sales channel (Shopify sales, WooCommerce sales, wholesale revenue) sa halip na isang "e-commerce sales" bucket. Kapag pinagsama mo ang Shopify at Amazon revenue sa isang account, mawawala ang per-channel margin visibility, at walang praktikal na paraan para mabawi ito nang hindi binubuo muli ang mga libro.
Ang isang malinis na seksyon ng kita para sa isang kliyente na Shopify lamang ay ganito ang hitsura:
- 4100 — Shopify Sales (kabuuang, bago ang mga bawas)
- 4110 — Shopify Shipping Income (kung ang pagpapadala ay sinisingil sa mga customer)
- 4200 — Returns and Allowances (kontra-kita)
Ang mga income account ay nagtatala kung ano ang naibenta. Ang deposito sa bangko ay sumasalamin sa kung ano ang naibayad pagkatapos ng mga bawas. Ang dalawang numerong iyon ay magkaiba sa istraktura, at ang iyong chart of accounts ay nangangailangan ng isang account na mag-uugnay sa kanila.
Desisyon 2: Gumamit ng clearing account bilang tulay.
Ang clearing account ay ang arkitektural na solusyon para sa net payout problem: kabuuang benta na pumasok, mga bawas sa bayarin/refund/buwis na lumabas, ang net bank deposit ay eksaktong tumutugma. Ang clearing account ay nagsasara sa zero bawat payout cycle. Ang rekonsilasyon ay nagiging mekanikal, hindi imbestigatibo.
Kapag naitala ang isang benta, ang kabuuang halaga ay napupunta sa Shopify Sales income account at sa clearing account bilang isang asset. Kapag ipinadala ng Shopify ang net payout, natatanggap ng clearing account ang mga bawas (mga bayarin, refund, buwis) at nagsasara sa zero. Ang deposito sa bangko ay eksaktong tumutugma sa net payout. Ang bawat bahagi ay napupunta sa tamang account.
Kung walang clearing account, sinusubukan mong i-reconcile ang isang bank deposit na hindi tumutugma sa anumang QBO account — dahil hindi ito dapat tumugma sa anumang iisang account. Ito ay net ng limang financial events. Ang bawat CPA na gumugol ng isang gabi sa Shopify reconciliation nang walang isa ay eksaktong alam kung ano ang pakiramdam niyon.
Gumawa ng isang clearing account bawat payment processor. Kung ang iyong kliyente ay gumagamit ng Shopify Payments at PayPal, iyon ay dalawang clearing account. Ang paghahalo sa mga ito ay lumilikha muli ng parehong problema sa mismatch sa clearing level na sinusubukan mong lutasin sa income level.
Paano ipinapatupad ang dalawang desisyong ito: product mappings.
Ang Desisyon 1 at 2 ay magiging wasto lamang kung ang software na nagpo-post sa QBO ay nirerespeto ang mga ito, at ang mga mapping ang nangyayari doon. Ang panuntunan sa pagkakasunud-sunod ay direktang nagmumula sa sariling setup docs ng LedgerPort: buuin muna ang chart of accounts, pagkatapos ay i-map. Ang LedgerPort ay nagmamapa sa iyong kasalukuyang mga QuickBooks account — hindi ito gumagawa ng mga account nang walang pahintulot mo — kaya ang istraktura na iyong idinisenyo sa artikulong ito ay ang istraktura na nirerespeto ng sync.

Ang mapping screen din ang lugar kung saan mo itatakda ang revenue granularity. Bawat produkto ay nagmamapa sa isang QBO item, at bawat item ay may dalang income account. Ituro ang maraming produkto sa isang item at makukuha mo ang simpleng variant ng template na ito — isang solong Shopify Sales account. I-map ang mga produkto nang paisa-isa at makukuha mo ang per-SKU revenue, kasama ang COGS posting sa mga Inventory-type item. Ito ay ang parehong desisyon tulad ng "isang Sales account vs. per-line revenue accounts," na ipinapakita bilang isang dropdown.
Dalawang detalye ang gumagawa nitong posible sa praktika. Una, ang failure mode ay ligtas: ang isang order na naglalaman ng hindi naka-map na produkto ay magkakaroon ng error na may nakalistang status — "Product Not Mapped" — at hihinto sa halip na mag-post sa maling account, kaya ang template ay hindi maaaring tahimik na malabag. Pangalawa, ang setup ay hindi isang linggo ng pag-click sa dropdown: Ang Auto-Map ay tumutugma sa mga Shopify product sa QBO item ayon sa SKU o pangalan sa isang click, nagba-flag ng mga resulta para sa pagsusuri, at iniiwan lamang ang mga hindi tumugma para sa manual mapping.
Mga Desisyon 3 at 4: Paghihiwalay ng Bayarin at Paghawak ng Refund
Desisyon 3: Ang mga bayarin sa Shopify ay hindi isang solong linya ng item.
Tatlong magkakaibang uri ng bayarin ang lumalabas sa mga payout ng Shopify. Ang pag-collapse sa mga ito sa isang "Shopify Fees" account ay nagdudulot ng pagkawala ng makabuluhang visibility sa kung saan napupunta ang margin:
BAYARIN SA SUBSCRIPTION
Fixed
$29–$399/buwan na bayarin sa platform; hindi nauugnay sa dami ng transaksyon
BAYARIN SA TRANSAKSAYON
0.5–2%
Siningil lamang kung HINDI gumagamit ng Shopify Payments; nawawala kapag pinalitan
BAYARIN SA PAGPROSESO
2.9% + $0.30
Bawat transaksyon; pinakamalaking kategorya ng bayarin; direktang binabawasan ang gross margin
Isang malinis na istraktura ng bayarin sa QBO:
- 6100 — Shopify Subscription
- 6110 — Shopify Transaction Fees
- 6120 — Bayad sa Pagproseso ng Pagbabayad
Ang paglalagay sa lahat ng tatlo sa isang account ay kung paano nagmamana ang mga CPA ng mga libro kung saan ang 3% na pagguho ng margin mula sa pagproseso ng pagbabayad ay hindi nakikita — hanggang sa may magtanong kung bakit mas mababa ang gross margin kaysa sa inaasahan ng modelo ng pagpepresyo. Ang paghihiwalay sa mga ito ay walang gastos sa pag-setup at nakakatipid ng oras sa bawat pagsusuri pagkatapos.
Desisyon 4: Ang mga refund ay nagpo-post laban sa payout, hindi sa orihinal na order.
Kapag nagbalik ang isang customer ng isang order, ibinabawas ng Shopify ang refund mula sa susunod na magagamit na payout. Hindi ito lumilikha ng hiwalay na transaksyon sa bangko — binabawasan nito ang netong halaga ng disbursement. Ang contra-revenue account para sa Returns and Allowances ay dapat tumanggap ng entry ng refund sa oras ng payout na naglalaman nito, hindi sa oras na naproseso ang return.
Kung ang isang return ay naproseso noong Marso ngunit ang refund ay lumitaw sa payout ng Abril, ang contra-revenue entry ay kabilang sa Abril. Ang pag-post nito sa Marso ay lumilikha ng period mismatch: bumababa ang kita ng Marso, ngunit ang bank reconciliation ng Marso ay hindi pa rin nagbabalanse dahil ang epekto sa cash ay hindi nangyari noong Marso. Ang mga period mismatch ay nagpapatong-patong buwan-buwan hanggang sa ang mga libro ay mangailangan ng kumpletong paglilinis upang maunravel.
Desisyon 5: Buwis sa Benta bilang Pananagutan Mula Araw Uno
Sa karamihan ng mga estado sa US, ang Shopify ay isang marketplace facilitator — nangangahulugan na kinokolekta ng Shopify ang sales tax mula sa mga customer at direktang ipinapadala ito sa mga awtoridad sa buwis ng estado. Hindi kailanman nahahawakan ng merchant ang perang iyon. Hindi utang ng merchant ang buwis; binayaran na ito ng Shopify.
Ang sales tax na kinokolekta ng Shopify ay lumilitaw sa mga kabuuang halaga ng order sa dashboard ng Shopify, ngunit hindi ito dumadaloy sa bank account ng merchant at hindi kita ng merchant. Kung ang iyong income account ay nagtatala ng mga kabuuang halaga ng order kasama ang buwis, pinapalaki mo ang kita at bumubuo ng phantom liability sa balance sheet.
Ang tamang setup ay nangangailangan ng dalawang liability account:
- Sales Tax Payable — para sa buwis na kinokolekta at ipinapadala ng merchant nang direkta (mga non-marketplace channel tulad ng wholesale, o mga estado kung saan hindi naaangkop ang mga patakaran ng marketplace facilitator)
- Marketplace Tax Withheld (o “Shopify Tax Collected”) — para sa buwis na kinokolekta at ipinapadala ng Shopify sa ngalan ng merchant; nagiging zero pagkatapos ng payout cycle dahil ang pananagutan ay nawawala sa pamamagitan ng pagpapadala ng Shopify, hindi ng merchant
Kung ang iyong kliyente ay nagbebenta sa maraming channel — Shopify, direktang website, wholesale — magkakaiba ang pagtrato sa buwis ayon sa channel. Ang isang solong account na “Sales Tax Payable” ay hindi makikilala ang pagkakaiba sa pagitan ng buwis na hinahawakan ng Shopify at buwis na hinahawakan ng merchant, at mahalaga ang pagkakaibang iyon sa oras ng pagbubuwis.
Sa LedgerPort, ang Desisyon 5 ay ipinapadala bilang isang setting sa halip na isang buwanang disiplina. Ang Taxes tab ng sync configuration ay mayroong Line Item Tax option: ang tax na nakolekta ng platform ay ipo-post bilang sarili nitong linya sa QuickBooks transaction, na iru-route sa isang liability account na pipiliin mo mula sa isang dropdown. Ang "Tax is a liability, not income" ay hindi na magiging isang panuntunan na kailangang tandaan ng isang tao at magiging tanging paraan lamang na maaaring mag-post ang sync.

Ang parehong tab ay naglalaman ng detalyeng hindi ipinapaliwanag ng sinuman: ang pag-round ng buwis. Ang kalkulasyon ng buwis ng platform at ang kalkulasyon ng buwis ng QuickBooks ay hindi magkatugma ng isa o dalawang sentimo sa ilang mga order, at kung walang mapaglalagyan ang mga sentimong iyon, ang mga libro ay lumalayo ng ilang sentimo bawat order tungo sa isang hindi maipaliwanag na gulo. Ang setting ng Tax Rounding ay nagdaragdag ng isang linya ng item na pag-round-adjustment na sumisipsip ng pagkakaiba — kaya naman ang mga libro ay tumutugma sa sentimo sa halip na “malapit na.” Ang malapit na ay hindi sapat.
Ang Chart of Accounts na Nagsasara sa Isang Araw
Kapag ang lahat ng limang desisyon ay nasa lugar na, ang pagtatapos ng buwan ay ganito: ang bawat Shopify payout ay dumadaan sa clearing account. Ang kabuuang benta ay pumasok. Ang mga bayarin sa pagproseso ng pagbabayad, mga refund, at marketplace tax ay lumabas. Ang net bank deposit ay nai-post. Ang clearing account ay nagsasara sa zero. Ang bank reconciliation ay nagbabalanse — sa pamamagitan ng pagkakabuo, hindi sa pamamagitan ng imbestigasyon.
Iyon ay isang 20-minutong proseso. Ang pagkakaiba ay hindi ang dami ng trabaho — ito ay kung ang chart of accounts ay idinisenyo upang matanggap nang tama ang data.
Ang paunang pamumuhunan ay totoo. Ang tamang pagbuo ng arkitekturang ito para sa isang bagong kliyente ay tumatagal ng dalawa hanggang tatlong oras sa unang pagkakataon — mas matagal kaysa sa pagkopya ng isang generic na template. Ngunit ang alternatibo ay ang paggastos ng mga oras na iyon, o higit pa, bawat buwan, nang walang hanggan.
Para sa mga CPA na namamahala ng lima o sampung kliyente ng Shopify, ang arkitekturang ito ang pundasyon ng isang paulit-ulit na template. Ang parehong limang desisyon ay nalalapat sa bawat tindahan ng Shopify sa QBO. Buuin ito nang tama nang isang beses, at inilalapat mo ito sa buong praktis — hindi muling pag-aaralan ang problema sa bawat bagong pakikipag-ugnayan.
Isang desisyon pa: ang sync method na ipo-post sa mga account na ito
Ang chart of accounts ay hindi tapos kapag nariyan na ang mga account. Ito ay tapos na kapag napagdesisyunan mo na kung anong uri ng transaksyon ang ipopost sa mga ito. Sa isang sync tool, ang desisyong iyon ay may pangalan: ang sync method. Sa LedgerPort ito ay isang dropdown — Sync Config » Orders » Sync Method, na naa-access mula sa kaliwang sidebar ng app — na may limang opsyon, at ang bawat opsyon ay may iba't ibang hinihingi sa chart na kakabuo mo lang.

- Sales Receipt — isang resibo bawat order, na may mga linya ng item, buwis, pagpapadala, at mga diskwento, na ipopost sa kita at sa clearing account. Hindi kailangan ng mga receivable.
- Invoice — dalawang talaan bawat order: ang Invoice kapag ito ay inilagay, isang Payment kapag ito ay minarkahan ng Shopify bilang bayad. Kung pipiliin mo ito, kailangan ng iyong chart ng mga bukas na receivable.
- Estimate — isang talaan na hindi ipinopost; hindi nito hinahawakan ang anuman hanggang sa ma-convert. Ang mga dokumento ay prangka tungkol sa kung gaano ito ka-bihira: “Kung hindi ka sigurado kung kailangan mo ito, malamang ay hindi mo kailangan.”
- Daily Summary — isang journal entry bawat araw na pinagsasama-sama ang lahat ng mga order sa araw na iyon. Ang pagpili nito ay naglalantad ng mga field ng account-mapping sa ibaba mismo ng dropdown.
- Tag-Based — ang mga tag ng order ng Shopify ay nagruruta ng mga order sa iba't ibang uri ng transaksyon (
wholesale→ Invoice,retail→ Sales Receipt,do-not-sync→ nilaktawan), kaya ang isang pinaghalong tindahan ng retail/wholesale ay maaaring mangailangan ng parehong mga receivable at mga account sa panig ng resibo.
Tingnang mabuti kung ano ang ginagawa ng Daily Summary: sa sandaling piliin mo ito, hihilingin sa iyo ng software na pangalanan ang mga account kung saan ipopost ang pang-araw-araw na journal entry nito. Ang mga field ng mapping na iyon ay ang limang desisyon ng artikulong ito, na ipinapakita bilang mga field ng form — gross revenue, clearing, fees, refunds, tax. Kung binuo mo ang chart sa itaas, pupunan mo ang mga ito sa isang pagpasa. Kung hindi, ito ang screen kung saan ito nagiging malinaw.

Maikli ang logic ng desisyon. Karaniwang DTC store, bayad sa checkout: Sales Receipt — ang sariling default ng mga dokumento, “ang tamang panimulang punto para sa karamihan ng mga tindahan.” B2B o mga tuntunin sa pagbabayad: Invoice. Mataas na volume — humigit-kumulang 100 o higit pang mga order sa isang araw — na may accountant na nagtatrabaho mula sa mga kabuuan: Daily Summary, na kung paano ang 3,000-order na buwan ay nagiging ~30 journal entry sa halip na 3,000 talaan.
At ang tuntunin na nagpapatibay sa desisyong ito: ang pagbabago ng sync method ay hindi kailanman muling isusulat ang mga order na na-sync na. Ito ay nalalapat lamang sa hinaharap. Pumili ng isang paraan, panoorin ang isang payout cycle na maipoproseso sa clearing account, at balikan kung mali ang hugis — ang mga libro na iyong isinara na ay mananatiling sarado.
Awtomatikong hinahawakan ng LedgerPort ang pagmamapa — ang sync ay nagpo-post ng kabuuang benta, mga item ng bayarin, mga refund, at buwis na nakolekta ng marketplace sa kanilang tamang mga account sa bawat payout cycle, kaya ang clearing account ay nagsasara nang walang manu-manong interbensyon. Kailangan pa ring maayos ang pagkakaayos ng chart of accounts upang matanggap ang data na iyon, ngunit ang limang desisyon sa itaas ay nagbibigay sa iyo ng eksaktong istraktura na iyon.
Kung nagse-set up ka ng bagong kliyente ng Shopify sa QBO — o nagmamana ng mga libro na hindi nagre-reconcile — ito ang limang lugar na unang titingnan. Kung alinman sa mga desisyon sa itaas ay hindi nagawa, doon nagmumula ang apat na oras na reconciliation. Ang pagkuha ng tamang chart of accounts ay pundasyon din para sa pagkakaroon ng mga librong handa sa buwis kapag hiningi ito ng iyong CPA — ang parehong limang desisyon na nagpapadali sa pagtatapos ng buwan ay nagpapadali sa pagtatapos ng taon. Tingnan kung paano hinahawakan ng LedgerPort ang pagmamapa sa isang multi-client practice sa ledgerport.com/cpas, o magsimula nang libre.
