Acting as

Audit Trail

Immutable log — who (or which agent) did what, when, with what confidence. AI-suggested vs human-decided is captured on every entry (DP8).

WhenActorActionEntityDetailConf.
18 Aug, 06:18:49 amSupriyaportal stateCG/2026-27/0010→ vendor_verified (JMS)
18 Aug, 06:18:47 amagent:portal-botportal stateCG/2026-27/0010→ stage1_uploaded (JMS)
18 Aug, 06:18:42 amagent:portal-botportal stateCG/2026-27/0013→ stage1_uploaded (JMS)
18 Aug, 05:56:57 amagent:collectionsdunning run3 customer(s) chased (autonomy L2; messages in outbox)
18 Aug, 05:29:45 amagent:compliance-watcherdeadline escalationGSTR-3B filing (liability hard-locked from GSTR-1) due 2026-08-20 (2d) — see /compliance
17 Aug, 05:23:41 pmJohncontainer off leaseCRYU0003off-lease 2026-08-10 — pro-rata + loading charges will apply in next billing run
17 Aug, 04:32:22 pmagent:tally-synctally mirror syncedArzaan27 ledgers, 28 groups, 27 vouchers, 0 stock items (01 Apr 2026 – 31 Mar 2027)
17 Aug, 04:30:12 pmagent:tally-synctally mirror syncedArzaan27 ledgers, 28 groups, 6 vouchers, 0 stock items (01 Apr 2026 – 31 Mar 2027)
17 Aug, 04:27:59 pmagent:tally-synctally mirror syncedArzaan27 ledgers, 28 groups, 65 vouchers, 0 stock items (01 Apr 2026 – 31 Mar 2027)
29 Jul, 05:37:40 pmSupriyaledger createdMetaflex Industriesunder 'Sundry Creditors' (Alter) — Tally: <RESPONSE> <CREATED>0</CREATED> <ALTERED>1</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 05:37:36 pmSupriyaledger createdSitaram Financeunder 'Sundry Creditors' (Alter) — Tally: <RESPONSE> <CREATED>0</CREATED> <ALTERED>1</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 05:37:33 pmSupriyaledger createdAB Air Partunder 'Sundry Creditors' (Alter) — Tally: <RESPONSE> <CREATED>0</CREATED> <ALTERED>1</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 05:37:30 pmSupriyaledger createdDeep Tradingunder 'Sundry Creditors' (Alter) — Tally: <RESPONSE> <CREATED>0</CREATED> <ALTERED>1</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 05:37:28 pmSupriyaledger createdCoolChain Tradersunder 'Sundry Debtors' (Alter) — Tally: <RESPONSE> <CREATED>0</CREATED> <ALTERED>1</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 05:37:25 pmSupriyaledger createdSnowman Logistics Ltdunder 'Sundry Debtors' (Alter) — Tally: <RESPONSE> <CREATED>0</CREATED> <ALTERED>1</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 05:37:24 pmSupriyaledger createdReliance Retail Ltdunder 'Sundry Debtors' (Alter) — Tally: <RESPONSE> <CREATED>0</CREATED> <ALTERED>1</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 04:33:16 pmSupriyacash appliedNEFT-RELRT-882910₹1,046,542.00 (tds_adjusted) against CG/2026-27/0001; TDS receivable ₹21,358.00 — verify vs 26AS; Tally posted
29 Jul, 04:33:14 pmSupriyareceipt recorded₹1,046,542.00 (NEFT-RELRT-882910)
29 Jul, 04:33:11 pmAalokadvance approvedMetaflex Industries₹75,000.00; Approved — matches PO terms
29 Jul, 04:33:07 pmSupriyaadvance requestedMetaflex Industries₹75,000.00 (25% advance against PO-2026-0447 (container spares)); TDS ₹1,500.00; routed to Aalok
29 Jul, 04:33:05 pmSupriyaexpense approvedPetrol_Conveyance_Jul2026.pdfPetrol & Conveyance ₹3,200.0094%
29 Jul, 04:32:59 pmSupriyaexpense approvedSitaram_Interest_Jul2026.pdfInterest Expense ₹28,400.00; TDS 194A ₹2,840.0094%
29 Jul, 04:32:52 pmSupriyaexpense approvedABAirPart_Repairs_CRYU0031_Jul2026.pdfRepairs & Maintenance ₹76,700.00; TDS 194C ₹1,300.0094%
29 Jul, 04:32:48 pmSupriyaexpense approvedDeepTrading_Gas_Jul2026_INV0231.pdfGas Purchase ₹49,560.0094%
29 Jul, 04:32:44 pmagent:extractionexpense extractedPetrol_Conveyance_Jul2026.pdfPetrol Conveyance Jul2026 ₹0.00 → Petrol & Conveyance (email)20%
29 Jul, 04:32:42 pmagent:extractionexpense extractedSitaram_Interest_Jul2026.pdfSitaram Interest Jul2026 ₹0.00 → Interest Expense (email)20%
29 Jul, 04:32:41 pmagent:extractionexpense extractedABAirPart_Repairs_CRYU0031_Jul2026.pdfAbairpart Repairs Cryu0031 Jul2026 ₹0.00 → Repairs & Maintenance (email)20%
29 Jul, 04:32:38 pmagent:extractionexpense extractedDeepTrading_Gas_Jul2026_INV0231.pdfDeeptrading Gas Jul2026 Inv0231 ₹0.00 → Gas Purchase (email)20%
29 Jul, 04:29:20 pmSupriyainvoice approvedCG/2026-27/0015₹427,160.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:29:13 pmSupriyainvoice approvedCG/2026-27/0014₹640,740.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:29:09 pmSupriyainvoice approvedCG/2026-27/0013₹1,015,980.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:29:00 pmSupriyainvoice approvedCG/2026-27/0012₹427,160.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:28:51 pmSupriyainvoice approvedCG/2026-27/0011₹640,740.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:28:47 pmSupriyainvoice approvedCG/2026-27/0010₹1,056,747.09; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:28:43 pmSupriyainvoice approvedCG/2026-27/0009₹427,160.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:28:39 pmSupriyainvoice approvedCG/2026-27/0008₹640,740.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:28:35 pmSupriyainvoice approvedCG/2026-27/0007₹1,067,900.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:28:32 pmSupriyainvoice approvedCG/2026-27/0006₹427,160.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:28:28 pmSupriyainvoice approvedCG/2026-27/0005₹640,740.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:28:24 pmSupriyainvoice approvedCG/2026-27/0004₹1,067,900.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:28:20 pmSupriyainvoice approvedCG/2026-27/0003₹427,160.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:28:17 pmSupriyainvoice approvedCG/2026-27/0002₹640,740.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:28:14 pmSupriyainvoice approvedCG/2026-27/0001₹1,067,900.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 04:26:33 pmSupriyaledger createdAdvance — Metaflex Industriesunder 'Loans & Advances (Asset)' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 04:26:29 pmSupriyaledger createdPetrol & Conveyanceunder 'Indirect Expenses' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 04:26:24 pmSupriyaledger createdInterest Expenseunder 'Indirect Expenses' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 04:26:20 pmSupriyaledger createdRepairs & Maintenanceunder 'Indirect Expenses' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 04:26:15 pmSupriyaledger createdGas Purchaseunder 'Purchase Accounts' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 04:26:10 pmSupriyaledger createdMetaflex Industriesunder 'Sundry Creditors' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 04:26:07 pmSupriyaledger createdSitaram Financeunder 'Sundry Creditors' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 04:26:03 pmSupriyaledger createdAB Air Partunder 'Sundry Creditors' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 04:26:00 pmSupriyaledger createdDeep Tradingunder 'Sundry Creditors' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 04:25:56 pmSupriyaledger createdCoolChain Tradersunder 'Sundry Debtors' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 04:25:52 pmSupriyaledger createdSnowman Logistics Ltdunder 'Sundry Debtors' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 03:59:17 pmAalokadvance approvedXYZ Refrigeration₹5,000.00; Production-grade test
29 Jul, 03:59:16 pmSupriyaexpense approvedtest_bill.txtPurchase Account ₹1,000.0020%
29 Jul, 03:59:15 pmSupriyainvoice approvedCG/2026-27/0013₹1,015,980.00; Tally posted; IRN generated (simulated GSP)
29 Jul, 03:57:09 pmSupriyaadvance requestedXYZ Refrigeration₹5,000.00 (Production-grade Tally test advance); TDS ₹0.00; routed to Aalok
29 Jul, 03:56:49 pmSupriyaledger createdAdvance — XYZ Refrigerationunder 'Loans & Advances (Asset)' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 03:56:36 pmSupriyaledger createdAdvance — XYZ Refrigeration (2)under 'Loans & Advances (Asset)' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 03:55:43 pmSupriyaledger createdAdvance — XYZ Refrigerationunder 'Loans & Advances (Asset)' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 03:55:40 pmSupriyaledger createdBankunder 'Bank Accounts' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 03:55:37 pmSupriyaledger createdContainer Lease Incomeunder 'Sales Accounts' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 03:55:34 pmSupriyaledger createdReliance Retail Ltdunder 'Sundry Debtors' — Tally: <RESPONSE> <CREATED>1</CREATED> <ALTERED>0</ALTERED> <DELETED>0</DELETED> <LASTVCHID>0</LASTVCHID> <LASTMID>0</LASTMID> <COMBINED>0</COMBINED> <IGNORED>0</IGNORED> <ERRORS>0</ERRORS> <CANCELLED>0</CANCELLED> <EXCEPTIONS>0</EXCEPTIONS> </RESPONSE>
29 Jul, 03:41:37 pmSupriyaexpense approvedtest_bill.txtPurchase Account ₹1,000.00 (AI suggestion corrected — alias learned)20%
29 Jul, 03:41:09 pmagent:extractionexpense extractedtest_bill.txtTest Bill ₹0.00 → no ledger match (upload)20%
29 Jul, 03:40:02 pmagent:synctally master syncCompany 'Arzaan': 9 real ledgers pulled — 9 new, 0 updated, 20 no longer present (flagged inactive, never deleted)
23 Jul, 05:21:07 pmSupriyanotice repliedDRC-01CGSTR-3B ITC exceeds GSTR-2B by ₹1.36L for Jun 2026 — reply in Part B or pay via DRC-03
23 Jul, 05:20:48 pmSupriyabank matchedNEFT CR RELIANCE RETAIL NEFT-REL-2207Receipt #1 NEFT-0001 ₹1,046,542.00
23 Jul, 05:20:41 pmagent:collectionsdunning run2 customer(s) chased (autonomy L2; messages in outbox)
23 Jul, 05:20:41 pmagent:collectionsdunning run2 customer(s) chased (autonomy L2; messages in outbox)
23 Jul, 05:20:41 pmagent:collectionsdunning run2 customer(s) chased (autonomy L2; messages in outbox)
23 Jul, 05:20:39 pmagent:collectionsdunning run2 customer(s) chased (autonomy L2; messages in outbox)
23 Jul, 05:20:37 pmSupriyacash appliedIMPS-CCT-1188₹150,000.00 (part_payment)
23 Jul, 05:19:48 pmSupriyaportal stateCG/2026-27/0010→ paid (JMS)
23 Jul, 05:19:48 pmSupriyaportal stateCG/2026-27/0010→ accepted (JMS)
23 Jul, 05:19:48 pmagent:portal-botportal stateCG/2026-27/0010→ stage2_uploaded (JMS)
23 Jul, 05:19:47 pmSupriyaportal stateCG/2026-27/0010→ vendor_verified (JMS)
23 Jul, 05:19:46 pmagent:portal-botportal stateCG/2026-27/0010→ stage1_uploaded (JMS)
23 Jul, 05:12:44 pmagent:daycountdaycount validatedtemplate.csv3 rows, 1 issue(s)
23 Jul, 05:12:43 pmagent:billingbilling run drafted0 draft invoice(s) for Jul 2026; days computed from calendar (DP9)
23 Jul, 05:12:43 pmagent:billingbilling run drafted3 draft invoice(s) for Aug 2026; days computed from calendar (DP9)
23 Jul, 04:50:04 pmSupriyaexpense approvedxyz_unknown_bill_991.txtRepairs & Maintenance ₹1,180.00 (AI suggestion corrected — alias learned)20%
23 Jul, 04:50:04 pmagent:extractionexpense extractedxyz_unknown_bill_991.txtXyz Unknown Bill 991 ₹0.00 → no ledger match20%
23 Jul, 04:49:42 pmAalokadvance approvedMetaflex Industries₹250,000.00; PO-118 verified
23 Jul, 04:49:42 pmSupriyaadvance decision refusedMetaflex IndustriesOnly Aalok can approve advances (permanent cap)
23 Jul, 04:49:42 pmSupriyaexpense approveddeep trading gas july.txtGas Purchase ₹49,560.0020%
23 Jul, 04:49:42 pmagent:extractionexpense extracteddeep trading gas july.txtDeep Trading Gas July ₹0.00 → Gas Purchase20%
23 Jul, 04:48:44 pmSupriyacash appliedNEFT-REL-2207₹1,046,542.00 (tds_adjusted); TDS receivable ₹21,358.00 — verify vs 26AS
23 Jul, 04:47:35 pmagent:copilotnl queryReliance ka outstanding kitna hai?
23 Jul, 04:47:24 pmSupriyaims acceptDT-0042DEEP TRADING ₹15,120.00 ITC;
23 Jul, 04:47:07 pmSupriyainvoice approvedCG/2026-27/0010₹1,056,747.09; Tally posted; IRN generated (simulated GSP)
23 Jul, 04:47:07 pmSupriyainvoice approvedCG/2026-27/0011₹640,740.00; Tally posted; IRN generated (simulated GSP)
23 Jul, 04:47:07 pmSupriyainvoice approvedCG/2026-27/0012₹427,160.00; Tally posted; IRN generated (simulated GSP)
23 Jul, 04:46:53 pmagent:billingbilling run drafted3 draft invoice(s) for Jul 2026; days computed from calendar (DP9)
23 Jul, 04:46:38 pmagent:seeddemo data seeded63 containers, 3 customers, Apr–Jun invoices via billing engine, Jul purchase register + 2B