By user_fullname on July 26, 2026
Beginner

Takealot Integration — Automation SOP

Version: 1.0 | Effective Date: 26 July 2026 Owner: Tsakane Sebone (Bookkeeper) | Approver: Chomba Chuma (GM) System: ERPNext (erp.velobiotics.com) + Base44 Deno Backend Functions


1. Architecture Overview

The Takealot integration runs on a three-tier reconciliation model:

DAILY (Automated)          WEEKLY (Semi-Automated)       MONTHLY (Manual)
─────────────────────       ─────────────────────         ─────────────────
Takealot API →              CASHFOCUS 29830898 →          Takealot PDF Statement →
Draft Sales Invoice         Payment Entry                 Purchase Invoice
(one per day)               (allocated to invoices)       (fees reconciliation)

Key Entities

Entity Name Role
Customer Takealot B2C Customer Single B2B customer for all marketplace sales
Supplier TAKEALOT MAIN Supplier for monthly platform fees
Warehouse Takealot - V Stock sent to Takealot for fulfillment
Vendor ID 29830898 Takealot's bank remittance identifier
Bank Ref CASHFOCUS 29830898 How Takealot payments appear in FNB bank feed

2. Daily Sales Import (AUTOMATED)

Trigger

  • Workflow: "Takealot Daily Sync (00:01 SAST)" — runs daily at 00:01 Africa/Johannesburg
  • Function: takealotDailySync (Base44 Deno backend function)
  • API: Takealot Marketplace API /v1/sales

What It Does

  1. Fetches previous day's sales from Takealot API
  2. Groups all order lines into ONE consolidated Sales Invoice per day
  3. Each line item = one order, with PO number as reference
  4. Creates Draft Sales Invoice (docstatus=0) for review

Invoice Structure

  • Customer: Takealot B2C Customer
  • Posting Date: Order date (not import date)
  • Invoice Source: Takealot
  • Warehouse: Takealot - V (stock deduction)
  • Due Date: Posting Date + 14 days
  • VAT: 15% inclusive (line items are VAT-inclusive)
  • Payment Terms: 14 days
  • PO Number: TA-DAILY-YYYY-MM-DD

Bundle Logic

  • SKUs prefixed TA4L- or T4L- = 3-unit bundles of the base SKU
  • The sync expands these to 3 units of the base item code

What Happens After Import

  • Draft invoice is created for Chomba/Tsakane to review
  • Once verified, the draft is SUBMITTED (docstatus=1)
  • This posts the invoice to the GL: DR Debtors / CR Sales + CR Output VAT

3. Weekly Payment Reconciliation (SEMI-AUTOMATED)

How Takealot Pays

  • Takealot remits every Friday to our FNB account
  • Bank narrative: CASHFOCUS 29830898 (vendor # 29830898)
  • The payment covers sales from the previous week (Mon-Sun)
  • Takealot deducts fees before paying (commission, fulfillment, shipping)
  • Payment amount < Invoice total (the difference = Takealot fees)

Current Bank Feed Handling

  • The daily Bank Feed Sync catches CASHFOCUS deposits
  • Creates a DRAFT JE: DR Bank / CR Unallocated Income
  • This is a placeholder — it records the cash but doesn't allocate to the customer

Reconciliation Steps (Every Friday)

Step 1: Identify the CASHFOCUS deposit - Check bank feed / ERPNext for JEs with remark containing "CASHFOCUS" - Note the amount and date

Step 2: Delete the placeholder DRAFT JE - The DRAFT JE (DR Bank / CR Unallocated Income) is a placeholder - Delete it before creating the Payment Entry - API: DELETE /api/resource/Journal Entry/{name}

Step 3: Create Payment Entry - Payment Type: Receive - Party Type: Customer - Party: Takealot B2C Customer - Posting Date: The CASHFOCUS deposit date - Mode of Payment: Wire Transfer - Reference No: CASHFOCUS 29830898 - Paid From: 300201 - Debtors (Customers) - ZAR - V - Paid To: 300300 - Payment Deposit - Online E-Commerce - V - Amount: The exact CASHFOCUS deposit amount

Step 4: Allocate against outstanding invoices (FIFO) - Allocate the payment against the oldest outstanding daily invoices first - Continue until the payment is fully allocated - The last invoice in the range will likely be partially paid - The remaining balance on that invoice = Takealot's fees for those days

Step 5: Submit the Payment Entry - Submit (docstatus=1) to post to GL - GL impact: DR Bank / CR Debtors (Takealot B2C Customer)

Reconciliation Example

Week of July 17-21:
  Daily invoices: R14,107 + R12,014 + R14,644 + R19,704 + R18,079 = R78,548
  CASHFOCUS payment (July 23): R83,667.97

  Allocation:
    ACC-SINV-2026-13742 (Jul 17): R14,107.00 → PAID
    ACC-SINV-2026-13744 (Jul 18): R12,014.00 → PAID
    ACC-SINV-2026-13745 (Jul 19): R14,644.00 → PAID
    ACC-SINV-2026-13746 (Jul 20): R19,704.00 → PAID
    ACC-SINV-2026-13747 (Jul 21): R18,079.00 → PAID
    ACC-SINV-2026-13748 (Jul 22): R5,119.97  → PARTIAL
    Remaining on Jul 22: R10,770.03 = Takealot fees for this period

SMTLC Settlement Deposits

Some Takealot deposits have reference SMTLC19ex0146 or SMTLC19ex0148 instead of CASHFOCUS. - These are settlement batch deposits from Takealot - Handle the same way: delete placeholder JE → create Payment Entry - May include combined Shopify + Takealot settlements — verify amounts before allocating


4. Monthly Fee Reconciliation (MANUAL)

When

  • Takealot issues a PDF fee statement on the 2nd of each month
  • The statement covers the previous month's platform fees

Fees NOT in the API

The Takealot sales API only includes order-level fees (success fees, fulfillment fees, stock fees). The PDF statement includes additional platform fees: - Ad Credits (advertising spend) - Storage Fees (warehouse storage) - Subscription Fees (platform subscription) - Removal Fees (stock removal from Takealot warehouse) - Reversals (refunds/chargebacks)

Reconciliation Steps

Step 1: Receive the PDF statement - Download from Takealot Seller Portal → Reports → Invoices - Verify the total against API-derived fees

Step 2: Create Purchase Invoice - Supplier: TAKEALOT MAIN - Posting Date: 2nd of the month - Bill No: TA-FEES-YYYY-MM (e.g., TA-FEES-2026-06) - Bill Date: Date on the PDF statement

Step 3: Add line items for each fee category

Fee Type Expense Account VAT
Success Fees 700801 - Marketplace Fees - V 15%
Fulfillment Fees 700801 - Marketplace Fees - V 15%
Stock Fees 700801 - Marketplace Fees - V 15%
Ad Credits 500200 - Digital Marketing & Advertising - V 15%
Storage Fees 700801 - Marketplace Fees - V 15%
Subscription 700315 - Dues And Subscription - V 15%
Removal Fees 700801 - Marketplace Fees - V 15%
Reversals 700801 - Marketplace Fees - V 15% (if negative, credit)

Step 4: Verify the reconciliation

Sum of daily invoice totals (month)     = R X (sales)
Sum of weekly CASHFOCUS payments (month) = R Y (cash received)
Purchase Invoice total                   = R Z (fees)

Check: X - Y ≈ Z (fees deducted from payments)
If X - Y ≠ Z, investigate the gap

Step 5: Submit the Purchase Invoice - Submit to post to GL: DR Expense + DR Input VAT / CR Trade Payables (TAKEALOT MAIN) - Pay the PI when Takealot deducts from the next remittance


5. Returns Processing

When

  • Customer returns item to Takealot
  • Takealot notifies via API (return_status in sales data)
  • Returned stock arrives at Takealot warehouse (may be damaged)

Steps

  1. Identify the return in the daily sync (negative quantity or return_status)
  2. Create Credit Note against the original daily Sales Invoice
    • Customer: Takealot B2C Customer
    • Against: Original daily SI
    • Amount: Refund value
  3. Write off returned stock if unusable:
    • Stock Entry: Material Issue from "Takealot - V" warehouse
    • Reason: "Takealot return — damaged/unsellable"
  4. If stock is sellable: Transfer back to "Finished Goods - V" warehouse

6. Stock Transfer to Takealot

When

  • When sending inventory to Takealot's warehouse for fulfillment

Steps

  1. Create Stock Entry (Material Transfer)
    • From: Finished Goods - V
    • To: Takealot - V
    • Items and quantities as per dispatch note
  2. Verify in ERPNext that stock levels are correct
  3. Update the Takealot Seller Portal with dispatch confirmation

7. Accounting Flow Summary

Daily Sales (Automated)

DR 300201 - Debtors (Customers) - ZAR - V     [gross]
   CR 400000 - Cost of Goods (Cost of Sales)   [net]
   CR 200300 - Standard Rate VAT - 15% - V     [VAT]

Weekly Payment (Semi-Automated)

DR 300101 - Velobiotics FNB Current Account   [payment]
   CR 300201 - Debtors (Customers) - ZAR - V   [payment]

Monthly Fees (Manual)

DR 700801 - Marketplace Fees - V               [net fees]
DR 200300 - Standard Rate VAT - 15% - V        [input VAT]
   CR 500100 - Trade Payables - ZAR - V        [gross fees]

Returns

DR 400000 - Cost of Goods (Cost of Sales)     [credit note]
   CR 300201 - Debtors (Customers) - ZAR - V   [refund]

8. Outstanding Items (as of 26 July 2026)

Invoices

  • 9 daily invoices submitted (July 17-25): R143,609.06 total
  • July 17-21: Fully paid by CASHFOCUS (July 23)
  • July 22: Partially paid (R10,770.03 outstanding = fees)
  • July 23-25: Outstanding (R49,171.00) — awaiting next CASHFOCUS payment

Payments

  • 1 Payment Entry created: ACC-PAY-2026-00098 (R83,667.97)

Pending CASHFOCUS Deposits (DRAFT JEs to convert)

Date Amount Status
June 25 R78,639.49 Draft JE — needs conversion to Payment Entry
July 2 R110,396.46 Draft JE — needs conversion to Payment Entry
July 9 R98,040.66 Draft JE — needs conversion to Payment Entry
July 16 R95,356.69 Draft JE — needs conversion to Payment Entry

Monthly Purchase Invoices Needed

Month Fee Statement PI Status
June 2026 PDF available (R145,967.61) Not yet created
July 2026 Expected Aug 2 Pending

SMTLC Settlement Deposits (DRAFT JEs)

16 settlement deposits totaling ~R1,506,000 — these need to be verified as Takealot or Shopify settlements before conversion to Payment Entries.


9. Automation Roadmap

Already Automated ✅

  • Daily sales import (Takealot API → Draft Sales Invoices)
  • Bank feed classification (CASHFOCUS → Unallocated Income draft)
  • Daily workflow at 00:01 SAST

Semi-Automated (Manual Trigger) 🔧

  • Weekly Payment Entry creation (requires: delete JE, create PE, allocate, submit)
  • Monthly Purchase Invoice creation (requires: PDF review, manual line items)

Future Automation Targets 🎯

  1. Weekly auto-reconciliation: Workflow that detects CASHFOCUS deposit, deletes placeholder JE, creates Payment Entry, allocates FIFO
  2. Monthly fee auto-import: Parse Takealot PDF and auto-create Purchase Invoice
  3. SMTLC deposit classification: Distinguish Takealot vs Shopify settlements automatically

10. Key Contacts & References

  • Takealot Seller Portal: https://seller.takealot.com
  • API Key Location: Seller Portal → Settings → API
  • Vendor Number: 29830898
  • Bank Reference: CASHFOCUS 29830898
  • ERPNext Customer: Takealot B2C Customer
  • ERPNext Supplier: TAKEALOT MAIN
  • ERPNext Warehouse: Takealot - V
  • GitHub Repo: chombachuma/vb-shopify-takelot-bank
  • Bookkeeper: Tsakane Sebone
  • GM Approver: Chomba Chuma


More articles on Operations


Comments

No comments yet.

Add a comment
Ctrl+Enter to add comment