Invoice Generator
Generate and send professional invoices to bank partners
INVOICE DETAILS
LINE ITEMS
SERVICE QTY UNIT (GHS) AMOUNT (GHS)
Platform Onboarding Fee 0.00
Monthly Platform Fee 0.00
Loan Referral Fee 0.00
SENTINEL Intelligence Add-on 0.00
SUBTOTAL
GHS 0.00
TOTAL DUE
GHS 0.00
SEND TO BANK
INVOICE HISTORY
INVOICE # BANK DATE AMOUNT STATUS
AGT-INV-2026-001 GCB Bank Ltd Apr 4, 2026 GHS 0.00 SANDBOX
AGT-INV-2026-002 Ecobank Ghana Ltd Apr 4, 2026 GHS 0.00 SANDBOX
Monthly Statement
Referral activity and fee summary
STATEMENT PERIOD
ACTIVITY
LOOKUPS
REFERRALS
APPROVED
LOAN VALUE (GHS)
Bank Partnership Agreement
Generate a signed partnership agreement for your bank
AGREEMENT DETAILS
Technical Integration Guide
Complete API documentation for your development team
YOUR CREDENTIALS
BANK CODE
API BASE URL
https://bank.ublafrica.com/api/v1/bpa
KEY ENDPOINTS
METHOD ENDPOINT PURPOSE
GET/member/phone/{phone}Look up member by phone
POST/trust-scoreGet BCI trust assessment
POST/loan-referralSubmit loan referral
POST/referrals/{id}/decisionSubmit loan decision
POST/webhook/configConfigure webhook URL
GET/statsDashboard statistics
Non-Disclosure Agreement
For due diligence and pre-partnership discussions
NDA DETAILS
Compliance Certificate
BoG Open Banking Framework 2023 compliance certificate
CERTIFICATE DETAILS
Compliance Standards Covered
✅ Bank of Ghana Open Banking Framework 2023
✅ Data Protection Act 2012 (Act 843)
✅ Electronic Transactions Act 2008 (Act 772)
✅ Anti-Money Laundering Act 2020 (Act 1044)
✅ OWASP Top 10 Security Standards (2021)
✅ ECOWAS Data Protection Framework
'; var w = window.open('', '_blank', 'width=920,height=1100'); w.document.write(html); w.document.close(); setTimeout(function(){ w.print(); }, 600); } function sendInvoiceEmail() { var email = document.getElementById('inv-email').value; var cc = document.getElementById('inv-cc').value; var msg = document.getElementById('inv-message').value; var invNo = document.getElementById('inv-number').value; var status = document.getElementById('inv-status'); if (!email) { status.style.display='block'; status.style.color='#F87171'; status.textContent='Please enter a recipient email address'; return; } var subj = encodeURIComponent('Invoice ' + invNo + ' - Agentics Technology Solutions Ltd.'); var body = encodeURIComponent(msg + '\n\nInvoice Reference: ' + invNo + '\nPortal: bank.ublafrica.com\nContact: info@agenticstechnology.tech'); var ccStr = cc ? '&cc=' + encodeURIComponent(cc) : ''; window.open('mailto:' + email + '?subject=' + subj + '&body=' + body + ccStr); status.style.display='block'; status.style.color='#4ADE80'; status.textContent='Email client opened. Download and attach the PDF invoice before sending.'; setTimeout(function(){ generateInvoice(); }, 800); } // ══════════════════════════════════════ DOCUMENT GENERATORS ══════════════════ var DOC_CSS = '*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,sans-serif;color:#111;padding:40px;max-width:900px;margin:0 auto;}.hdr{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:20px;border-bottom:4px solid #C9A84C;}.logo h1{font-size:28px;color:#0D2B55;font-weight:900;}.logo .sub{font-size:13px;color:#C9A84C;font-weight:700;margin-top:2px;}.logo .info{font-size:11px;color:#6B7280;margin-top:6px;line-height:1.6;}.badge-box{background:#0D2B55;color:#fff;padding:20px 28px;border-radius:12px;text-align:right;}h2{color:#0D2B55;font-size:17px;margin:24px 0 10px;border-bottom:2px solid #C9A84C;padding-bottom:6px;}p{font-size:13px;line-height:1.8;margin-bottom:12px;}table{width:100%;border-collapse:collapse;margin-bottom:20px;}thead tr{background:#0D2B55;}thead th{color:#fff;padding:10px 14px;text-align:left;font-size:12px;}tbody tr:nth-child(even){background:#F5F7FA;}tbody td{padding:10px 14px;font-size:13px;border-bottom:1px solid #E5E7EB;}.ref-box{background:#F5F7FA;padding:16px;border-radius:8px;margin-bottom:20px;font-size:13px;}.sig-row{display:flex;gap:40px;margin-top:40px;}.sig-box{flex:1;border-top:1px solid #111;padding-top:8px;font-size:12px;color:#6B7280;}.footer{text-align:center;font-size:11px;color:#6B7280;border-top:2px solid #C9A84C;padding-top:16px;margin-top:32px;}.code{background:#0D1220;color:#C9A84C;padding:12px 16px;border-radius:8px;font-family:monospace;font-size:12px;margin:8px 0;white-space:pre-wrap;word-break:break-all;}.cert-box{border:3px solid #C9A84C;border-radius:16px;padding:40px;text-align:center;margin:24px 0;}@media print{body{padding:20px}}'; function docHeader(title, ref, dateStr) { return '
' + '' + '
' + title + '
' + '
' + ref + '
' + '
' + dateStr + '
'; } function docFooter(ref) { return ''; } function openDoc(html) { var w = window.open('', '_blank', 'width=950,height=1100'); w.document.write(html); w.document.close(); setTimeout(function(){ w.print(); }, 700); } function wrapDoc(title, ref, dateStr, body) { return '' + ref + '' + '' + docHeader(title, ref, dateStr) + body + docFooter(ref) + ''; } // ── MONTHLY STATEMENT ───────────────────────────────────────────────────────── function generateStatement() { var month = document.getElementById('stmt-month').value; var year = document.getElementById('stmt-year').value; var ref = document.getElementById('stmt-ref').value; var lookups = document.getElementById('stmt-lookups').value || 0; var refs = document.getElementById('stmt-referrals').value || 0; var approved = document.getElementById('stmt-approved').value || 0; var loanVal = parseFloat(document.getElementById('stmt-loan-value').value) || 0; var rate = parseFloat(document.getElementById('stmt-rate').value) || 0; var platFee = parseFloat(document.getElementById('stmt-platform-fee').value) || 0; var bankName = (bankData && bankData.bank_name) ? bankData.bank_name : 'Bank Partner'; var bankCode = (bankData && bankData.bank_code) ? bankData.bank_code : ''; var refFee = loanVal * rate / 100; var total = refFee + platFee; var body = '
Bank: ' + bankName + ' (' + bankCode + ')' + '  |  Period: ' + month + ' ' + year + '  |  Ref: ' + ref + '
' + '

Activity Summary

' + '' + '' + '' + '' + '' + '
METRICVALUENOTES
Trust Score Lookups' + lookups + 'BCI assessments requested
Loan Referrals Made' + refs + 'Members referred
Loans Approved' + approved + 'Referrals resulting in approval
Total Approved Loan ValueGHS ' + loanVal.toLocaleString() + 'Sum of all approved amounts
' + '

Fee Summary

' + '' + '' + '' + '' + '
FEE TYPECALCULATIONAMOUNT (GHS)
Loan Referral FeeGHS ' + loanVal.toLocaleString() + ' x ' + rate + '%' + refFee.toFixed(2) + '
Monthly Platform FeeFixed subscription' + platFee.toFixed(2) + '
TOTAL DUEGHS ' + total.toFixed(2) + '
' + (total === 0 ? '

Sandbox Waiver: All fees waived during BoG Regulatory Sandbox period.

' : '') + '
' + '
Agentics Technology Solutions Ltd.


________________________
Authorised Signatory
' + '
' + bankName + '


________________________
Acknowledged by
'; openDoc(wrapDoc('MONTHLY STATEMENT', ref, month + ' ' + year, body)); } // ── PARTNERSHIP AGREEMENT ──────────────────────────────────────────────────── function generateAgreement() { var ref = document.getElementById('agr-ref').value; var dateStr = document.getElementById('agr-date').value || new Date().toLocaleDateString('en-GB'); var signatory = document.getElementById('agr-signatory').value || '_______________'; var sigTitle = document.getElementById('agr-title').value || '_______________'; var term = document.getElementById('agr-term').value || '12'; var fee = document.getElementById('agr-fee').value || '1.5'; var special = document.getElementById('agr-conditions').value || 'None.'; var bankName = (bankData && bankData.bank_name) ? bankData.bank_name : '[Bank Name]'; var bankCode = (bankData && bankData.bank_code) ? bankData.bank_code : '[Bank Code]'; var body = '
This Bank Partnership Agreement is entered into on ' + dateStr + ' between ' + 'Agentics Technology Solutions Ltd. ("Agentics") and ' + '' + bankName + ' (Code: ' + bankCode + ') ("the Bank").
' + '

1. Definitions

' + '

"Platform" means the UBL Africa digital financial inclusion platform. "BPA API" means the Bank Partner API. "Member" means a registered UBL Africa participant. "Trust Score" means the BCI generated by the SHIELD AI engine. "SENTINEL" means the bank intelligence monitoring system.

' + '

2. Scope of Partnership

' + '

Agentics grants the Bank non-exclusive access to the UBL Africa BPA API for: (a) trust score assessments of consenting members; (b) receiving loan referrals for qualified members; (c) submitting loan decisions back to the platform; (d) accessing the SENTINEL member intelligence dashboard.

' + '

3. Term and Renewal

' + '

This Agreement commences on ' + dateStr + ' and continues for ' + term + ' months, auto-renewing for 12-month periods unless terminated with 30 days written notice.

' + '

4. Fees and Billing

' + '

The Bank agrees to pay a referral fee of ' + fee + '% of the approved loan amount for each loan approved following a UBL Africa referral. Fees are invoiced monthly, payable within 30 days. All fees are waived during the Bank of Ghana Regulatory Sandbox period.

' + '

5. Data Protection and Consent

' + '

The Bank shall only access member data where the member has granted Tier 3 consent under the UBL Africa consent architecture. All data sharing complies with the Data Protection Act 2012 (Act 843) and the BoG Open Banking Framework 2023. The Bank shall not use member data for any purpose other than loan assessment.

' + '

6. API Security

' + '

Agentics provides a unique API key per bank. The Bank is responsible for its confidentiality. Suspected compromise must be reported within 24 hours to info@agenticstechnology.tech. Agentics may revoke access for security breaches or misuse.

' + '

7. Regulatory Compliance

' + '

Both parties comply with all applicable Ghanaian laws including Act 987, Act 1044, and all Bank of Ghana directives. The Bank remains responsible for its own regulatory obligations as a licensed institution.

' + '

8. Confidentiality

' + '

Both parties maintain strict confidentiality of all proprietary information, technical architecture, member data, and commercial terms. This obligation survives termination for 3 years.

' + '

9. Limitation of Liability

' + '

Trust scores are informational tools. The Bank retains full responsibility for all lending decisions. Agentics shall not be liable for loan losses. Neither party is liable for indirect, consequential, or punitive damages.

' + '

10. Special Conditions

' + special + '

' + '

11. Governing Law

' + '

Governed by the laws of the Republic of Ghana. Disputes resolved by arbitration under Ghana Arbitration Centre rules.

' + '
' + '
AGENTICS TECHNOLOGY SOLUTIONS LTD.



________________________
Authorised Signatory
info@agenticstechnology.tech
' + '
' + bankName.toUpperCase() + '



________________________
' + signatory + '
' + sigTitle + '
'; openDoc(wrapDoc('BANK PARTNERSHIP AGREEMENT', ref, dateStr, body)); } // ── INTEGRATION GUIDE ───────────────────────────────────────────────────────── function generateIntegrationGuide() { var bankName = (bankData && bankData.bank_name) ? bankData.bank_name : 'Bank Partner'; var bankCode = (bankData && bankData.bank_code) ? bankData.bank_code : 'XXX001'; var ref = 'AGT-GUIDE-' + bankCode + '-2026'; var body = '
Prepared for: ' + bankName + ' (' + bankCode + ')' + '
Platform: UBL Africa Bank Partner API v2.0' + '
Support: info@agenticstechnology.tech | +233 534 766 787
' + '

1. Authentication

' + '

Include your API key in every request header. Never expose your key in client-side code.

' + '
X-UBL-API-Key: ubl_bank_' + bankCode + '_[your_api_key_here]
' + '

2. Base URL

' + '
https://bank.ublafrica.com/api/v1/bpa
' + '

3. Member Lookup by Phone

' + '
GET /member/phone/{phone_number}\n\ncurl https://bank.ublafrica.com/api/v1/bpa/member/phone/+233200000000 \\\n -H "X-UBL-API-Key: your_key_here"
' + '

4. Trust Score Assessment

' + '
POST /trust-score\nContent-Type: application/json\n\n{\n "member_id": "uuid-of-member",\n "purpose": "loan_assessment"\n}
' + '

5. Loan Referral

' + '
POST /loan-referral\nContent-Type: application/json\n\n{\n "member_id": "uuid-of-member",\n "requested_amount": 2000.00,\n "purpose": "business"\n}
' + '

6. Submit Loan Decision

' + '
POST /referrals/{referral_id}/decision\nContent-Type: application/json\n\n{\n "decision": "approved",\n "approved_amount": 1500.00,\n "interest_rate": 18.5,\n "tenure_weeks": 12,\n "officer_name": "John Mensah"\n}
' + '

7. Webhook Setup

' + '
POST /webhook/config\nContent-Type: application/json\n\n{\n "webhook_url": "https://your-bank.com/ubl-webhook",\n "events": ["loan_decision","trust_score_change","consent_granted","member_flagged"]\n}
' + '

8. Response Codes

' + '' + '' + '' + '' + '' + '' + '' + '
CODEMEANING
200Success
401Invalid or missing API key
403Feature not enabled for your account
404Member not found
429Rate limit exceeded (10,000 req/min)
500Server error - contact support
' + '

9. Support Contact

' + '

Email: info@agenticstechnology.tech
Phone: +233 534 766 787
Portal: https://bank.ublafrica.com

'; openDoc(wrapDoc('TECHNICAL INTEGRATION GUIDE', ref, new Date().toLocaleDateString('en-GB'), body)); } // ── NDA ─────────────────────────────────────────────────────────────────────── function generateNDA() { var ref = document.getElementById('nda-ref').value; var dateStr = document.getElementById('nda-date').value || new Date().toLocaleDateString('en-GB'); var party = document.getElementById('nda-party').value || '[Receiving Party]'; var signatory = document.getElementById('nda-signatory').value || '_______________'; var sigTitle = document.getElementById('nda-title').value || '_______________'; var duration = document.getElementById('nda-duration').value || '3'; var body = '
This Non-Disclosure Agreement is entered into on ' + dateStr + ' between ' + 'Agentics Technology Solutions Ltd. ("Disclosing Party") and ' + '' + party + ' ("Receiving Party").
' + '

1. Confidential Information

' + '

"Confidential Information" includes all non-public technical, commercial, and operational information disclosed by Agentics including: platform architecture, source code, SHIELD AI models, member data, business plans, API specifications, and bank partner details.

' + '

2. Obligations

' + '

The Receiving Party agrees to: (a) maintain strict confidence; (b) not disclose to third parties without written consent; (c) use solely for evaluating a potential business relationship; (d) protect with at least the same care as its own confidential information.

' + '

3. Exclusions

' + '

Obligations do not apply to information that: (a) becomes publicly known without breach; (b) was already known before disclosure; (c) is independently developed; (d) is required by law or regulation.

' + '

4. Duration

' + '

This Agreement remains in effect for ' + duration + ' years from the date of signing and survives termination of any business relationship.

' + '

5. Return of Information

' + '

Upon Agentics request, the Receiving Party shall promptly return or destroy all Confidential Information and certify such destruction.

' + '

6. Remedies

' + '

Breach would cause irreparable harm. Agentics is entitled to injunctive relief in addition to all other remedies at law or in equity.

' + '

7. Governing Law

' + '

Governed by the laws of the Republic of Ghana.

' + '
' + '
AGENTICS TECHNOLOGY SOLUTIONS LTD.



________________________
Authorised Signatory
Date: _______________
' + '
' + party.toUpperCase() + '



________________________
' + signatory + '
' + sigTitle + '
Date: _______________
'; openDoc(wrapDoc('NON-DISCLOSURE AGREEMENT', ref, dateStr, body)); } // ── COMPLIANCE CERTIFICATE ──────────────────────────────────────────────────── function generateCompliance() { var ref = document.getElementById('cert-ref').value; var dateStr = document.getElementById('cert-date').value || new Date().toLocaleDateString('en-GB'); var expiry = document.getElementById('cert-expiry').value || ''; var certBank = document.getElementById('cert-bank').value || (bankData && bankData.bank_name) || 'Bank Partner'; var body = '
' + '
' + '
CERTIFICATE OF COMPLIANCE
' + '
UBL AFRICA BANK PARTNER PROGRAMME
' + '

This certifies that

' + '
' + certBank + '
' + '

is a verified and compliant partner of Agentics Technology Solutions Ltd. operating within the UBL Africa Bank Partner Programme in accordance with all applicable regulatory frameworks.

' + '' + '' + '' + '' + '' + '' + '' + '' + '
REGULATORY FRAMEWORKSTATUS
Bank of Ghana Open Banking Framework 2023COMPLIANT
Data Protection Act 2012 (Act 843)COMPLIANT
Electronic Transactions Act 2008 (Act 772)COMPLIANT
Anti-Money Laundering Act 2020 (Act 1044)COMPLIANT
OWASP Top 10 Security Standards (2021)COMPLIANT
ECOWAS Data Protection FrameworkCOMPLIANT
' + '
Ref: ' + ref + ' | Issued: ' + dateStr + (expiry ? ' | Valid Until: ' + expiry : '') + '
' + '
' + '
' + '
AGENTICS TECHNOLOGY SOLUTIONS LTD.
Compliance Officer


________________________
Signature & Company Seal
' + '
CERTIFICATE HOLDER
' + certBank + '


________________________
Acknowledged by Authorised Signatory
'; openDoc(wrapDoc('COMPLIANCE CERTIFICATE', ref, dateStr, body)); } // Populate bank code on integration guide page setTimeout(function() { var gc = document.getElementById('guide-code'); if (gc && bankData && bankData.bank_code) { gc.textContent = bankData.bank_code; } }, 2000); // ══════════════════════════════════════ SENTINEL BANK PAGE ══════════════════ function initSentinelPage() { // Load watch list count var wc = document.getElementById('s-watch-count'); fetch('/api/v1/bpa/members/watchlist', {headers: {'X-UBL-API-Key': bankData ? bankData.api_key : ''}}) .then(function(r){return r.json();}) .then(function(d){if(wc)wc.textContent = (d.watchlist||[]).length;}) .catch(function(){if(wc)wc.textContent='0';}); // Render watch list var wl = document.getElementById('sentinel-watchlist'); if(wl) wl.innerHTML = '
Kwame Asante
+233200111222 — Trust Score: 72
No Change
' + '
Add members via Trust Score Lookup to monitor them here
'; // Render quick prompts var qp = document.getElementById('sentinel-prompts'); if(qp) qp.innerHTML = [ 'Explain the trust score for Kwame Asante', 'Should we approve the GHS 2,000 loan referral?', 'What does a BCI score of 720 mean?', 'How does SHIELD AI detect fraud?', 'What are our compliance obligations?', 'Summarise this months referral activity' ].map(function(q){ var bsHtml="";for(var bsi=0;bsi'+bsq+"";}if(qp)qp.innerHTML=bsHtml; }).join(''); } function setBankSentinelQ(q){document.getElementById('sentinel-bank-inp').value=q;sendBankSentinel();} async function sendBankSentinel(){ var inp=document.getElementById('sentinel-bank-inp'); var msg=inp.value.trim();if(!msg)return;inp.value=''; var c=document.getElementById('sentinel-chat'); var bankName = bankData ? bankData.bank_name : 'Bank Partner'; var bankCode = bankData ? bankData.bank_code : ''; c.innerHTML+='
'+msg+'
You
'; c.innerHTML+='
🧠
Analysing...
'; c.scrollTop=c.scrollHeight; var ctx='You are the UBL Africa Bank Intelligence Assistant for '+bankName+' ('+bankCode+'). Context: UBL Africa is a trust-based financial inclusion platform in Ghana. It has 11 registered members with community vouching trust scores. SHIELD AI v3.0.0 handles fraud detection using IsolationForest+GradientBoosting with anti-manipulation Parts I-II-III. Current referrals: 1 pending loan referral for Kwame Asante (GHS 2,000, trust score 72, BCI DRS 720/1000). Platform complies with BoG Open Banking Framework 2023 and Data Protection Act 2012 (Act 843). Help bank staff understand trust scores, BCI reports, referrals, compliance, and risk assessment. Be specific, professional and concise.'; try{ var r=await fetch('/anthropic/v1/messages',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({model:'claude-sonnet-4-20250514',max_tokens:1000,system:ctx,messages:[{role:'user',content:msg}]})}); var d=await r.json(); var rep=d.content&&d.content[0]&&d.content[0].text?d.content[0].text:'Could not get response.'; document.getElementById('bank-typing').outerHTML='
🧠
'+rep.replace(/\n/g,'
')+'
'; }catch(e){ document.getElementById('bank-typing').outerHTML='
🧠
Connection error. Check Anthropic proxy.
'; } c.scrollTop=c.scrollHeight; }