{"id":9876,"date":"2026-07-31T11:03:59","date_gmt":"2026-07-31T11:03:59","guid":{"rendered":"https:\/\/tradegoai.app\/?post_type=tools&#038;p=9876"},"modified":"2026-07-31T11:03:59","modified_gmt":"2026-07-31T11:03:59","slug":"cong-cu-tao-hoa-don-chieu-le","status":"publish","type":"tools","link":"https:\/\/tradegoai.app\/vi\/tools\/proforma-invoice-builder\/","title":{"rendered":"Tr\u00ecnh t\u1ea1o h\u00f3a \u0111\u01a1n chi\u1ebfu l\u1ec7"},"content":{"rendered":"    <main id=\"tga-pi-1\" class=\"tga-pi-tool\" aria-labelledby=\"tga-pi-1-title\">\n        <style>\n            #tga-pi-1{--navy:#0f1831;--purple:#6528f7;--purple-dark:#501bd8;--lilac:#f2efff;--muted:#64748b;--line:#e2e8f0;--success:#047857;--danger:#b91c1c;width:100%;max-width:1180px;margin:44px auto 72px;padding:0 22px;color:var(--navy);font-family:inherit;box-sizing:border-box}\n            #tga-pi-1 *,#tga-pi-1 *::before,#tga-pi-1 *::after{box-sizing:border-box}\n            #tga-pi-1 .tga-pi-hero{position:relative;overflow:hidden;padding:46px 48px;border-radius:22px;background:radial-gradient(circle at 88% 18%,rgba(101,40,247,.78),transparent 34%),linear-gradient(135deg,#081127,#131d42);color:#fff}\n            #tga-pi-1 .tga-pi-hero::after{position:absolute;right:-78px;bottom:-118px;width:320px;height:320px;border:1px solid rgba(255,255,255,.16);border-radius:50%;content:\"\"}\n            #tga-pi-1 .tga-pi-eyebrow{position:relative;z-index:1;margin:0 0 12px;color:#cbbcff;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}\n            #tga-pi-1 .tga-pi-hero h1{position:relative;z-index:1;max-width:930px;margin:0 0 14px;color:#fff;font-size:clamp(36px,5.5vw,62px);line-height:1.03;letter-spacing:-.04em}\n            #tga-pi-1 .tga-pi-hero p:last-child{position:relative;z-index:1;max-width:820px;margin:0;color:#dce4ff;font-size:18px;line-height:1.65}\n            #tga-pi-1 .tga-pi-workspace{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:24px;margin-top:28px;align-items:start}\n            #tga-pi-1 .tga-pi-workspace>*{min-width:0}\n            #tga-pi-1 .tga-pi-panel,#tga-pi-1 .tga-pi-section{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 16px 45px rgba(15,24,49,.06)}\n            #tga-pi-1 .tga-pi-panel{padding:28px}#tga-pi-1 .tga-pi-section{margin-top:28px;padding:30px}\n            #tga-pi-1 h2{margin:0 0 8px;color:var(--navy);font-size:25px;line-height:1.25;letter-spacing:-.02em}\n            #tga-pi-1 .tga-pi-intro,#tga-pi-1 .tga-pi-section>p{margin:0;color:var(--muted);line-height:1.7}\n            #tga-pi-1 .tga-pi-group{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}#tga-pi-1 .tga-pi-group:first-of-type{margin-top:20px;padding-top:0;border-top:0}\n            #tga-pi-1 .tga-pi-group h3{margin:0 0 13px;font-size:17px;line-height:1.35}\n            #tga-pi-1 .tga-pi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}\n            #tga-pi-1 .tga-pi-wide{grid-column:1\/-1}\n            #tga-pi-1 label{display:block;margin:0 0 7px;color:#334155;font-size:13px;font-weight:700}\n            #tga-pi-1 input,#tga-pi-1 select,#tga-pi-1 textarea{width:100%;min-height:48px;margin:0;padding:10px 13px;border:1px solid #cbd5e1;border-radius:10px;outline:0;background:#fff;color:var(--navy);font:inherit;font-size:15px}\n            #tga-pi-1 textarea{min-height:78px;resize:vertical;line-height:1.5}\n            #tga-pi-1 input:focus,#tga-pi-1 select:focus,#tga-pi-1 textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(101,40,247,.12)}\n            #tga-pi-1 .tga-pi-lines{display:grid;gap:12px}#tga-pi-1 .tga-pi-line{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(78px,.55fr) minmax(92px,.75fr) 42px;gap:9px;align-items:end;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}\n            #tga-pi-1 .tga-pi-line .tga-pi-sku{grid-column:1\/-1}\n            #tga-pi-1 .tga-pi-remove{width:42px;min-height:48px;padding:0;border:1px solid #fecaca;border-radius:9px;background:#fff;color:#b91c1c;cursor:pointer;font-size:21px;font-weight:700}\n            #tga-pi-1 .tga-pi-help{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.45}\n            #tga-pi-1 .tga-pi-error,#tga-pi-1 .tga-pi-status{min-height:22px;margin:13px 0 0;font-size:13px;font-weight:700;line-height:1.5}\n            #tga-pi-1 .tga-pi-error{color:var(--danger)}#tga-pi-1 .tga-pi-status{color:var(--success)}#tga-pi-1 [hidden]{display:none!important}\n            #tga-pi-1 .tga-pi-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}\n            #tga-pi-1 .tga-pi-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:var(--navy);cursor:pointer;font:inherit;font-size:14px;font-weight:800;line-height:1.2;text-decoration:none}\n            #tga-pi-1 .tga-pi-button:hover{border-color:var(--purple);transform:translateY(-1px)}\n            #tga-pi-1 .tga-pi-primary{min-height:50px;padding:11px 19px;border-color:var(--purple);background:var(--purple);color:#fff}#tga-pi-1 .tga-pi-primary:hover{border-color:var(--purple-dark);background:var(--purple-dark)}\n            #tga-pi-1 .tga-pi-result{min-height:720px}#tga-pi-1 .tga-pi-empty{margin-top:22px;padding:28px 22px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:var(--muted);line-height:1.7;text-align:center}\n            #tga-pi-1 .tga-pi-sheet{margin-top:20px;padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}\n            #tga-pi-1 .tga-pi-sheet-head{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;padding-bottom:18px;border-bottom:2px solid var(--navy)}#tga-pi-1 .tga-pi-sheet-head strong{display:block;font-size:25px}#tga-pi-1 .tga-pi-sheet-head span{display:block;margin-top:5px;color:var(--muted);font-size:13px;line-height:1.45;text-align:right}\n            #tga-pi-1 .tga-pi-parties{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}#tga-pi-1 .tga-pi-party{padding:13px;border:1px solid var(--line);border-radius:10px}#tga-pi-1 .tga-pi-party span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}#tga-pi-1 .tga-pi-party strong{display:block;margin:5px 0;font-size:15px}#tga-pi-1 .tga-pi-party p{margin:0;white-space:pre-line;color:#475569;font-size:12px;line-height:1.5}\n            #tga-pi-1 .tga-pi-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px;margin-top:16px;padding:13px;border-radius:10px;background:#f8fafc;font-size:12px;line-height:1.5}#tga-pi-1 .tga-pi-terms span{color:var(--muted)}#tga-pi-1 .tga-pi-terms strong{display:block;color:var(--navy);overflow-wrap:anywhere}\n            #tga-pi-1 .tga-pi-table-wrap{margin-top:16px;overflow-x:auto}#tga-pi-1 table{width:100%;min-width:510px;border-collapse:collapse;font-size:12px}#tga-pi-1 th,#tga-pi-1 td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}#tga-pi-1 th{background:#f8fafc;font-weight:800}#tga-pi-1 th:nth-last-child(-n+2),#tga-pi-1 td:nth-last-child(-n+2){text-align:right}\n            #tga-pi-1 .tga-pi-totals{width:min(100%,310px);margin:16px 0 0 auto}#tga-pi-1 .tga-pi-total-row{display:flex;gap:12px;justify-content:space-between;padding:6px 0;font-size:13px}#tga-pi-1 .tga-pi-grand{margin-top:5px;padding-top:10px;border-top:2px solid var(--navy);font-size:16px;font-weight:800}\n            #tga-pi-1 .tga-pi-notes{margin-top:16px;padding:13px;border-left:4px solid var(--purple);border-radius:8px;background:var(--lilac);white-space:pre-line;color:#475569;font-size:12px;line-height:1.55}\n            #tga-pi-1 .tga-pi-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}#tga-pi-1 .tga-pi-guide article{padding:18px;border:1px solid var(--line);border-radius:13px;background:#fbfdff}#tga-pi-1 .tga-pi-guide h3{margin:0 0 7px;font-size:16px;line-height:1.35}#tga-pi-1 .tga-pi-guide p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}\n            #tga-pi-1 .tga-pi-cta{display:flex;gap:28px;align-items:center;justify-content:space-between;margin-top:28px;padding:34px 38px;border-radius:18px;background:radial-gradient(circle at 88% 18%,rgba(101,40,247,.65),transparent 38%),linear-gradient(135deg,#081127,#131d42);color:#fff}#tga-pi-1 .tga-pi-cta h2{color:#fff;font-size:28px}#tga-pi-1 .tga-pi-cta p{max-width:720px;margin:0;color:#dce4ff;line-height:1.7}#tga-pi-1 .tga-pi-cta a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:11px 19px;border-radius:10px;background:#fff;color:var(--navy);font-weight:800;text-decoration:none}\n            #tga-pi-1 .tga-pi-faq{display:grid;gap:10px;margin-top:20px}#tga-pi-1 details{border:1px solid var(--line);border-radius:12px;background:#fff}#tga-pi-1 summary{padding:16px 18px;cursor:pointer;font-weight:800}#tga-pi-1 details p{margin:0;padding:0 18px 17px;color:var(--muted);line-height:1.7}\n            #tga-pi-1 .tga-pi-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}#tga-pi-1 .tga-pi-related a{display:block;padding:20px;border:1px solid var(--line);border-radius:13px;color:var(--navy);text-decoration:none}#tga-pi-1 .tga-pi-related a:hover{border-color:var(--purple)}#tga-pi-1 .tga-pi-related strong{display:block;margin-bottom:7px;color:var(--purple)}#tga-pi-1 .tga-pi-related span{display:block;color:var(--muted);font-size:14px;line-height:1.6}\n            @media(max-width:900px){#tga-pi-1 .tga-pi-workspace{grid-template-columns:1fr}#tga-pi-1 .tga-pi-result{min-height:0}#tga-pi-1 .tga-pi-guide,#tga-pi-1 .tga-pi-related{grid-template-columns:1fr}#tga-pi-1 .tga-pi-cta{align-items:flex-start;flex-direction:column}}\n            @media(max-width:600px){#tga-pi-1{margin-top:28px;padding:0 0px}#tga-pi-1 .tga-pi-hero{padding:32px 23px}#tga-pi-1 .tga-pi-hero h1{font-size:36px}#tga-pi-1 .tga-pi-panel,#tga-pi-1 .tga-pi-section{padding:23px 19px}#tga-pi-1 .tga-pi-grid,#tga-pi-1 .tga-pi-parties,#tga-pi-1 .tga-pi-terms{grid-template-columns:1fr}#tga-pi-1 .tga-pi-wide{grid-column:auto}#tga-pi-1 .tga-pi-line{grid-template-columns:1fr 1fr}#tga-pi-1 .tga-pi-line>div:first-child,#tga-pi-1 .tga-pi-line .tga-pi-sku{grid-column:1\/-1}#tga-pi-1 .tga-pi-remove{grid-column:1\/-1;width:100%}#tga-pi-1 input,#tga-pi-1 select,#tga-pi-1 textarea{font-size:16px}#tga-pi-1 .tga-pi-actions{display:grid;grid-template-columns:1fr}#tga-pi-1 .tga-pi-button,#tga-pi-1 .tga-pi-cta a{width:100%}#tga-pi-1 .tga-pi-cta{padding:28px 22px}#tga-pi-1 .tga-pi-sheet{padding:17px 13px}#tga-pi-1 .tga-pi-sheet-head{flex-direction:column}#tga-pi-1 .tga-pi-sheet-head span{text-align:left}}\n        <\/style>\n\n        <section class=\"tga-pi-hero\"><p class=\"tga-pi-eyebrow\">Turn Agreed Offer Details Into a Clear Draft<\/p><h1 id=\"tga-pi-1-title\">Proforma Invoice Builder<\/h1><p>Organize seller, buyer, commercial terms, product lines, charges, and totals into a printable proforma invoice draft.<\/p><\/section>\n\n        <section class=\"tga-pi-workspace\" aria-label=\"Proforma invoice builder workspace\">\n            <form class=\"tga-pi-panel tga-pi-form\" novalidate>\n                <h2>Enter Proforma Invoice Details<\/h2><p class=\"tga-pi-intro\">Use confirmed transaction information. Fields marked as required must be completed before the draft is generated.<\/p>\n                <div class=\"tga-pi-group\"><h3>Seller and Buyer<\/h3><div class=\"tga-pi-grid\">\n                    <div><label>Seller company *<\/label><input data-field=\"seller\" value=\"Northstar Export Co.\" maxlength=\"120\" required><\/div>\n                    <div><label>Buyer company *<\/label><input data-field=\"buyer\" value=\"Pacific Retail Ltd.\" maxlength=\"120\" required><\/div>\n                    <div><label>Seller email<\/label><input data-field=\"email\" type=\"email\" value=\"sales@example.com\" maxlength=\"160\"><\/div>\n                    <div><label>Buyer reference<\/label><input data-field=\"buyerRef\" value=\"RFQ-2026-104\" maxlength=\"80\"><\/div>\n                    <div><label>Seller address *<\/label><textarea data-field=\"sellerAddress\" required>100 Export Avenue&#10;Wilmington, DE 19801, USA<\/textarea><\/div>\n                    <div><label>Buyer address *<\/label><textarea data-field=\"buyerAddress\" required>88 Market Road&#10;Singapore 048581<\/textarea><\/div>\n                <\/div><\/div>\n                <div class=\"tga-pi-group\"><h3>Document and Commercial Terms<\/h3><div class=\"tga-pi-grid\">\n                    <div><label>Proforma invoice number *<\/label><input data-field=\"number\" value=\"PI-2026-001\" maxlength=\"60\" required><\/div>\n                    <div><label>Currency<\/label><select data-field=\"currency\"><option>USD<\/option><option>EUR<\/option><option>GBP<\/option><option>CNY<\/option><option>JPY<\/option><option>KRW<\/option><option>AUD<\/option><option>CAD<\/option><\/select><\/div>\n                    <div><label>Issue date *<\/label><input data-field=\"issueDate\" type=\"date\" value=\"2026-10-12\" required><\/div>\n                    <div><label>Valid until *<\/label><input data-field=\"validUntil\" type=\"date\" value=\"2026-11-11\" required><\/div>\n                    <div><label>Incoterm and named place *<\/label><input data-field=\"incoterm\" value=\"FOB Shanghai, Incoterms\u00ae 2020\" maxlength=\"140\" required><\/div>\n                    <div><label>Payment terms *<\/label><input data-field=\"payment\" value=\"30% deposit, 70% before shipment\" maxlength=\"180\" required><\/div>\n                <\/div><\/div>\n                <div class=\"tga-pi-group\"><h3>Product Lines<\/h3><div class=\"tga-pi-lines\" data-lines><\/div><button class=\"tga-pi-button\" data-action=\"add\" type=\"button\">+ Add Product Line<\/button><\/div>\n                <div class=\"tga-pi-group\"><h3>Additional Charges<\/h3><div class=\"tga-pi-grid\">\n                    <div><label>Freight<\/label><input data-field=\"freight\" type=\"number\" value=\"450\" min=\"0\" max=\"1000000000000\" step=\"0.01\"><\/div>\n                    <div><label>Insurance<\/label><input data-field=\"insurance\" type=\"number\" value=\"50\" min=\"0\" max=\"1000000000000\" step=\"0.01\"><\/div>\n                    <div><label>Other charges<\/label><input data-field=\"other\" type=\"number\" value=\"0\" min=\"0\" max=\"1000000000000\" step=\"0.01\"><\/div>\n                    <div><label>Discount<\/label><input data-field=\"discount\" type=\"number\" value=\"100\" min=\"0\" max=\"1000000000000\" step=\"0.01\"><\/div>\n                    <div class=\"tga-pi-wide\"><label>Notes<\/label><textarea data-field=\"notes\" maxlength=\"1000\">Production lead time: 25 days after deposit. Bank details and final shipping instructions will be confirmed separately.<\/textarea><\/div>\n                <\/div><\/div>\n                <p class=\"tga-pi-error\" role=\"alert\" aria-live=\"assertive\"><span data-error=\"required\" hidden>Complete all required seller, buyer, document, date, and commercial-term fields.<\/span><span data-error=\"email\" hidden>Enter a valid seller email or leave it blank.<\/span><span data-error=\"dates\" hidden>The valid-until date cannot be earlier than the issue date.<\/span><span data-error=\"line\" hidden>Each product line needs a description, quantity greater than zero, and a non-negative unit price.<\/span><span data-error=\"charges\" hidden>Charges and discount must be valid non-negative values.<\/span><span data-error=\"total\" hidden>The discount cannot make the invoice total negative.<\/span><\/p>\n                <div class=\"tga-pi-actions\"><button class=\"tga-pi-button tga-pi-primary\" type=\"submit\">Build Proforma Invoice<\/button><button class=\"tga-pi-button\" data-action=\"reset\" type=\"button\">Reset<\/button><\/div>\n            <\/form>\n\n            <section class=\"tga-pi-panel tga-pi-result\" aria-labelledby=\"tga-pi-1-result-title\">\n                <h2 id=\"tga-pi-1-result-title\">Proforma Invoice Draft<\/h2><p class=\"tga-pi-intro\">Review every field before copying, downloading, printing, or sending the document.<\/p>\n                <div class=\"tga-pi-empty\" data-empty>Enter the transaction details, then select Build Proforma Invoice.<span class=\"tga-pi-status\" data-reset-status hidden>The example proforma invoice has been restored.<\/span><\/div>\n                <div data-output hidden>\n                    <article class=\"tga-pi-sheet\" data-sheet>\n                        <header class=\"tga-pi-sheet-head\"><strong>PROFORMA INVOICE<\/strong><span><b data-result=\"number\"><\/b><br><span data-result=\"dates\"><\/span><\/span><\/header>\n                        <div class=\"tga-pi-parties\"><div class=\"tga-pi-party\"><span>Seller<\/span><strong data-result=\"seller\"><\/strong><p data-result=\"sellerDetails\"><\/p><\/div><div class=\"tga-pi-party\"><span>Buyer<\/span><strong data-result=\"buyer\"><\/strong><p data-result=\"buyerDetails\"><\/p><\/div><\/div>\n                        <div class=\"tga-pi-terms\"><div><span>Currency<\/span><strong data-result=\"currency\"><\/strong><\/div><div><span>Buyer reference<\/span><strong data-result=\"buyerRef\"><\/strong><\/div><div><span>Incoterm<\/span><strong data-result=\"incoterm\"><\/strong><\/div><div><span>Payment terms<\/span><strong data-result=\"payment\"><\/strong><\/div><\/div>\n                        <div class=\"tga-pi-table-wrap\"><table><thead><tr><th>Product<\/th><th>Qty<\/th><th>Unit price<\/th><th>Line total<\/th><\/tr><\/thead><tbody data-result=\"lines\"><\/tbody><\/table><\/div>\n                        <div class=\"tga-pi-totals\"><div class=\"tga-pi-total-row\"><span>Subtotal<\/span><strong data-result=\"subtotal\"><\/strong><\/div><div class=\"tga-pi-total-row\"><span>Freight<\/span><strong data-result=\"freight\"><\/strong><\/div><div class=\"tga-pi-total-row\"><span>Insurance<\/span><strong data-result=\"insurance\"><\/strong><\/div><div class=\"tga-pi-total-row\"><span>Other charges<\/span><strong data-result=\"other\"><\/strong><\/div><div class=\"tga-pi-total-row\"><span>Discount<\/span><strong data-result=\"discount\"><\/strong><\/div><div class=\"tga-pi-total-row tga-pi-grand\"><span>Total<\/span><strong data-result=\"total\"><\/strong><\/div><\/div>\n                        <div class=\"tga-pi-notes\" data-result=\"notes\"><\/div>\n                    <\/article>\n                    <div class=\"tga-pi-actions\"><button class=\"tga-pi-button\" data-action=\"copy\" type=\"button\">Copy Summary<\/button><button class=\"tga-pi-button\" data-action=\"download\" type=\"button\">Download CSV<\/button><button class=\"tga-pi-button\" data-action=\"print\" type=\"button\">Print Draft<\/button><\/div>\n                    <p class=\"tga-pi-status\" role=\"status\" aria-live=\"polite\"><span data-status=\"built\" hidden>Proforma invoice built.<\/span><span data-status=\"copied\" hidden>Summary copied.<\/span><span data-status=\"copyFailed\" hidden>Copy failed. Select and copy the result manually.<\/span><span data-status=\"downloaded\" hidden>CSV downloaded.<\/span><span data-status=\"printOpened\" hidden>Print view opened.<\/span><span data-status=\"printBlocked\" hidden>The print view was blocked. Allow pop-ups and try again.<\/span><\/p>\n                <\/div>\n            <\/section>\n        <\/section>\n\n        <section class=\"tga-pi-section\"><h2>How to Prepare the Draft<\/h2><p>Build the document from agreed commercial information, then verify the result with the people responsible for the transaction.<\/p><div class=\"tga-pi-guide\"><article><h3>Identify Both Parties<\/h3><p>Use the legal seller and buyer names, full addresses, contact details, document number, and relevant buyer reference.<\/p><\/article><article><h3>Define the Offer<\/h3><p>State currency, validity, Incoterm with named place, payment terms, precise products, quantities, prices, and known charges.<\/p><\/article><article><h3>Confirm Before Sending<\/h3><p>Check destination rules, tax and customs wording, banking instructions, signatures, product controls, and final contractual requirements.<\/p><\/article><\/div><\/section>\n        <section class=\"tga-pi-cta\"><div><h2>Move From a Draft Offer to Better Trade Execution<\/h2><p>Explore TradeGo AI services for buyer research, sales preparation, trade documentation, risk review, and market visibility.<\/p><\/div><a href=\"https:\/\/tradegoai.app\/vi\/services\/\">Explore Services \u2192<\/a><\/section>\n        <section class=\"tga-pi-section\"><h2>Frequently Asked Questions<\/h2><div class=\"tga-pi-faq\"><details><summary>What is a proforma invoice used for?<\/summary><p>A proforma invoice is commonly used to present proposed products, prices, commercial terms, and shipment-related charges before a final commercial invoice is issued.<\/p><\/details><details><summary>Is the generated document a final commercial invoice?<\/summary><p>No. It is a draft prepared from the information you enter. Confirm the required invoice wording, tax treatment, customs requirements, banking details, and contractual terms before using it in a transaction.<\/p><\/details><details><summary>How are line totals and the invoice total calculated?<\/summary><p>Each line total is quantity multiplied by unit price. The subtotal is the sum of all lines. Freight, insurance, and other charges are added, while the discount is subtracted.<\/p><\/details><details><summary>Can I add more than one product?<\/summary><p>Yes. Add, edit, or remove product lines. Every retained line must include a description, a quantity greater than zero, and a non-negative unit price.<\/p><\/details><details><summary>Where is the information stored?<\/summary><p>The builder works in your browser. The information is used to create the on-screen result, copied summary, CSV file, and printable draft without being submitted by this tool.<\/p><\/details><details><summary>What should I confirm before sending the proforma invoice?<\/summary><p>Check the legal company names, addresses, PI number, dates, currency, Incoterm and named place, payment terms, product descriptions, quantities, prices, charges, validity period, and any destination-specific requirements.<\/p><\/details><\/div><\/section>\n        <section class=\"tga-pi-section\"><h2>Related Free Tools<\/h2><p>Continue from the proposed offer into invoice checking, packing details, and trade-term selection.<\/p><div class=\"tga-pi-related\"><a href=\"https:\/\/tradegoai.app\/vi\/tools\/commercial-invoice-checker\/\"><strong>Commercial Invoice Checker<\/strong><span>Check required fields and line-item arithmetic before finalizing a commercial invoice.<\/span><\/a><a href=\"https:\/\/tradegoai.app\/vi\/tools\/packing-list-builder\/\"><strong>Packing List Builder<\/strong><span>Organize cartons, product quantities, weights, dimensions, and shipment totals.<\/span><\/a><a href=\"https:\/\/tradegoai.app\/vi\/tools\/incoterms-2020-selector\/\"><strong>Incoterms\u00ae 2020 Selector<\/strong><span>Compare a practical shortlist of trade terms based on transport and responsibility preferences.<\/span><\/a><\/div><\/section>\n\n        <div data-i18n hidden><span data-key=\"product\">Product<\/span><span data-key=\"sku\">SKU \/ model<\/span><span data-key=\"quantity\">Quantity<\/span><span data-key=\"unitPrice\">Unit price<\/span><span data-key=\"notProvided\">Not provided<\/span><span data-key=\"issued\">Issued<\/span><span data-key=\"validUntil\">Valid until<\/span><span data-key=\"title\">Proforma Invoice<\/span><span data-key=\"seller\">Seller<\/span><span data-key=\"buyer\">Buyer<\/span><span data-key=\"buyerRef\">Buyer reference<\/span><span data-key=\"currency\">Currency<\/span><span data-key=\"incoterm\">Incoterm<\/span><span data-key=\"payment\">Payment terms<\/span><span data-key=\"subtotal\">Subtotal<\/span><span data-key=\"freight\">Freight<\/span><span data-key=\"insurance\">Insurance<\/span><span data-key=\"other\">Other charges<\/span><span data-key=\"discount\">Discount<\/span><span data-key=\"total\">Total<\/span><span data-key=\"notes\">Notes<\/span><\/div>\n        <template data-line-template><div class=\"tga-pi-line\"><div><label>Product description *<\/label><input data-line=\"description\" maxlength=\"240\" required><\/div><div><label>Quantity *<\/label><input data-line=\"quantity\" type=\"number\" min=\"0.0001\" max=\"1000000000\" step=\"0.0001\" required><\/div><div><label>Unit price *<\/label><input data-line=\"price\" type=\"number\" min=\"0\" max=\"1000000000000\" step=\"0.01\" required><\/div><button class=\"tga-pi-remove\" data-remove type=\"button\" aria-label=\"Remove product line\">\u00d7<\/button><div class=\"tga-pi-sku\"><label>SKU \/ model<\/label><input data-line=\"sku\" maxlength=\"100\"><\/div><\/div><\/template>\n        <script>\n        (function(){\n            'use strict';const root=document.getElementById(\"tga-pi-1\");if(!root||root.dataset.ready==='1')return;root.dataset.ready='1';\n            const form=root.querySelector('.tga-pi-form'),linesBox=root.querySelector('[data-lines]'),template=root.querySelector('[data-line-template]'),empty=root.querySelector('[data-empty]'),output=root.querySelector('[data-output]'),fields={},results={},labels={};root.querySelectorAll('[data-field]').forEach(n=>fields[n.dataset.field]=n);root.querySelectorAll('[data-result]').forEach(n=>results[n.dataset.result]=n);\n            const initialLines=[{description:'Wireless Barcode Scanner',sku:'WBS-200',quantity:'100',price:'24.50'},{description:'Charging Dock',sku:'CD-20',quantity:'50',price:'8.00'}];const defaults={seller:'Northstar Export Co.',buyer:'Pacific Retail Ltd.',email:'sales@example.com',buyerRef:'RFQ-2026-104',sellerAddress:'100 Export Avenue\\nWilmington, DE 19801, USA',buyerAddress:'88 Market Road\\nSingapore 048581',number:'PI-2026-001',currency:'USD',issueDate:\"2026-10-12\",validUntil:\"2026-11-11\",incoterm:'FOB Shanghai, Incoterms\u00ae 2020',payment:'30% deposit, 70% before shipment',freight:'450',insurance:'50',other:'0',discount:'100',notes:'Production lead time: 25 days after deposit. Bank details and final shipping instructions will be confirmed separately.'};let current=null;\n            function loadLabels(){root.querySelectorAll('[data-i18n] [data-key]').forEach(n=>labels[n.dataset.key]=n.textContent.trim())}loadLabels();\n            function clear(){root.querySelectorAll('[data-error],[data-status],[data-reset-status]').forEach(n=>n.hidden=true)}function message(t,k){clear();const n=root.querySelector(`[data-${t}=\"${k}\"]`);if(n)n.hidden=false}\n            function addLine(data){const node=template.content.firstElementChild.cloneNode(true);Object.entries(data||{}).forEach(([k,v])=>{const f=node.querySelector(`[data-line=\"${k}\"]`);if(f)f.value=v});node.querySelector('[data-remove]').addEventListener('click',()=>{if(linesBox.children.length>1){node.remove();return}node.querySelectorAll('[data-line]').forEach(f=>f.value=f.dataset.line==='quantity'?'1':f.dataset.line==='price'?'0':'');node.querySelector('[data-line=\"description\"]').focus()});linesBox.appendChild(node)}\n            function emailValid(v){return !v||\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(v)}\n            function read(){const required=['seller','buyer','sellerAddress','buyerAddress','number','issueDate','validUntil','incoterm','payment'];const d={};Object.keys(fields).forEach(k=>d[k]=fields[k].value.trim());if(required.some(k=>!d[k]))throw new Error('required');if(!emailValid(d.email))throw new Error('email');if(d.validUntil<d.issueDate)throw new Error('dates');d.lines=[...linesBox.children].map(n=>({description:n.querySelector('[data-line=\"description\"]').value.trim(),sku:n.querySelector('[data-line=\"sku\"]').value.trim(),quantity:Number(n.querySelector('[data-line=\"quantity\"]').value),price:Number(n.querySelector('[data-line=\"price\"]').value)}));if(!d.lines.length||d.lines.some(x=>!x.description||!Number.isFinite(x.quantity)||x.quantity<=0||x.quantity>1e9||!Number.isFinite(x.price)||x.price<0||x.price>1e12))throw new Error('line');['freight','insurance','other','discount'].forEach(k=>d[k]=Number(d[k]));if(['freight','insurance','other','discount'].some(k=>!Number.isFinite(d[k])||d[k]<0||d[k]>1e12))throw new Error('charges');return d}\n            function calculate(d){const lines=d.lines.map(x=>({...x,total:x.quantity*x.price})),subtotal=lines.reduce((s,x)=>s+x.total,0),total=subtotal+d.freight+d.insurance+d.other-d.discount;if(total<0)throw new Error('total');return{input:d,lines,subtotal,total}}\n            function money(v,c){try{return new Intl.NumberFormat(undefined,{style:'currency',currency:c,currencyDisplay:'code',minimumFractionDigits:2,maximumFractionDigits:2}).format(v)}catch(e){return c+' '+v.toFixed(2)}}function qty(v){return new Intl.NumberFormat(undefined,{maximumFractionDigits:4}).format(v)}\n            function render(r){const d=r.input,c=d.currency;results.number.textContent=d.number;results.dates.textContent=labels.issued+': '+d.issueDate+' \u00b7 '+labels.validUntil+': '+d.validUntil;results.seller.textContent=d.seller;results.sellerDetails.textContent=d.sellerAddress+(d.email?'\\n'+d.email:'');results.buyer.textContent=d.buyer;results.buyerDetails.textContent=d.buyerAddress;results.currency.textContent=c;results.buyerRef.textContent=d.buyerRef||labels.notProvided;results.incoterm.textContent=d.incoterm;results.payment.textContent=d.payment;results.lines.textContent='';r.lines.forEach(x=>{const tr=document.createElement('tr'),cells=[x.description+(x.sku?'\\n'+x.sku:''),qty(x.quantity),money(x.price,c),money(x.total,c)];cells.forEach((v,i)=>{const td=document.createElement('td');td.textContent=v;if(i===0)td.style.whiteSpace='pre-line';tr.appendChild(td)});results.lines.appendChild(tr)});['freight','insurance','other','discount'].forEach(k=>results[k].textContent=(k==='discount'&&d[k]>0?'-':'')+money(d[k],c));results.subtotal.textContent=money(r.subtotal,c);results.total.textContent=money(r.total,c);results.notes.textContent=d.notes?labels.notes+': '+d.notes:labels.notes+': '+labels.notProvided;empty.hidden=true;output.hidden=false;message('status','built')}\n            function rows(r){const d=r.input,c=d.currency,base=[[labels.seller,d.seller],[labels.buyer,d.buyer],[labels.buyerRef,d.buyerRef||labels.notProvided],['PI number',d.number],[labels.issued,d.issueDate],[labels.validUntil,d.validUntil],[labels.currency,c],[labels.incoterm,d.incoterm],[labels.payment,d.payment]];r.lines.forEach((x,i)=>base.push([labels.product+' '+(i+1),x.description],[labels.sku+' '+(i+1),x.sku||labels.notProvided],[labels.quantity+' '+(i+1),qty(x.quantity)],[labels.unitPrice+' '+(i+1),money(x.price,c)],['Line total '+(i+1),money(x.total,c)]));return base.concat([[labels.subtotal,money(r.subtotal,c)],[labels.freight,money(d.freight,c)],[labels.insurance,money(d.insurance,c)],[labels.other,money(d.other,c)],[labels.discount,money(d.discount,c)],[labels.total,money(r.total,c)],[labels.notes,d.notes||labels.notProvided]])}\n            function summary(r){return[labels.title].concat(rows(r).map(x=>x[0]+': '+x[1])).join('\\n')}\n            function csvCell(v){let s=String(v);if(\/^[=+\\-@]\/.test(s))s=\"'\"+s;return '\"'+s.replace(\/\"\/g,'\"\"')+'\"'}\n            async function copy(){if(!current)return;try{const text=summary(current);if(navigator.clipboard&&window.isSecureContext)await navigator.clipboard.writeText(text);else{const a=document.createElement('textarea');a.value=text;a.style.position='fixed';a.style.opacity='0';document.body.appendChild(a);a.select();if(!document.execCommand('copy'))throw new Error();a.remove()}message('status','copied')}catch(e){message('status','copyFailed')}}\n            function download(){if(!current)return;const data=[['Field','Value']].concat(rows(current)),csv='\\uFEFF'+data.map(r=>r.map(csvCell).join(',')).join('\\r\\n'),blob=new Blob([csv],{type:'text\/csv;charset=utf-8'}),url=URL.createObjectURL(blob),a=document.createElement('a');a.href=url;a.download='proforma-invoice-'+current.input.number.replace(\/[^a-z0-9_-]+\/gi,'-')+'.csv';document.body.appendChild(a);a.click();a.remove();setTimeout(()=>URL.revokeObjectURL(url),1000);message('status','downloaded')}\n            function printDraft(){if(!current)return;const w=window.open('','_blank');if(!w){message('status','printBlocked');return}w.opener=null;const sheet=root.querySelector('[data-sheet]').outerHTML;w.document.open();w.document.write('<!doctype html><html><head><meta charset=\"utf-8\"><title>'+current.input.number+'<\/title><style>body{font-family:Arial,sans-serif;color:#0f1831;margin:32px}.tga-pi-sheet{max-width:850px;margin:auto}.tga-pi-sheet-head,.tga-pi-parties,.tga-pi-terms,.tga-pi-total-row{display:flex;justify-content:space-between;gap:20px}.tga-pi-parties>div{width:50%}.tga-pi-party p,.tga-pi-notes{white-space:pre-line}.tga-pi-terms{display:grid;grid-template-columns:1fr 1fr;margin:20px 0}table{width:100%;border-collapse:collapse}th,td{padding:9px;border:1px solid #ddd;text-align:left}.tga-pi-totals{width:320px;margin:20px 0 0 auto}.tga-pi-grand{font-size:18px;border-top:2px solid #0f1831}.tga-pi-notes{margin-top:20px}.tga-pi-help{color:#64748b}<\/style><\/head><body>'+sheet+'<\/body><\/html>');w.document.close();w.focus();setTimeout(()=>w.print(),250);message('status','printOpened')}\n            function reset(){Object.keys(defaults).forEach(k=>fields[k].value=defaults[k]);linesBox.textContent='';initialLines.forEach(addLine);current=null;clear();output.hidden=true;empty.hidden=false;root.querySelector('[data-reset-status]').hidden=false;fields.seller.focus()}\n            initialLines.forEach(addLine);root.querySelector('[data-action=\"add\"]').addEventListener('click',()=>addLine({description:'',sku:'',quantity:'1',price:'0'}));form.addEventListener('submit',e=>{e.preventDefault();loadLabels();clear();try{current=calculate(read());render(current)}catch(err){current=null;output.hidden=true;empty.hidden=false;message('error',err.message||'required')}});\n            root.querySelector('[data-action=\"reset\"]').addEventListener('click',reset);root.querySelector('[data-action=\"copy\"]').addEventListener('click',copy);root.querySelector('[data-action=\"download\"]').addEventListener('click',download);root.querySelector('[data-action=\"print\"]').addEventListener('click',printDraft);\n        })();\n        <\/script>\n    <\/main>\n    \n","protected":false},"excerpt":{"rendered":"<p>T\u1ea1o b\u1ea3n nh\u00e1p h\u00f3a \u0111\u01a1n chi\u1ebfu l\u1ec7 r\u00f5 r\u00e0ng v\u1edbi th\u00f4ng tin ng\u01b0\u1eddi b\u00e1n, ng\u01b0\u1eddi mua, c\u00e1c \u0111i\u1ec1u kho\u1ea3n th\u01b0\u01a1ng m\u1ea1i, c\u00e1c d\u00f2ng s\u1ea3n ph\u1ea9m, c\u00e1c kho\u1ea3n ph\u00ed, t\u1ed5ng s\u1ed1 ti\u1ec1n v\u00e0 b\u1ea3n xu\u1ea5t c\u00f3 th\u1ec3 in ho\u1eb7c t\u1ea3i xu\u1ed1ng ngay tr\u00ean tr\u00ecnh duy\u1ec7t c\u1ee7a b\u1ea1n.<\/p>","protected":false},"featured_media":9878,"template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"spectra_gs_classes":"[\"\"]"},"tool_categories":[53,46],"class_list":["post-9876","tools","type-tools","status-publish","has-post-thumbnail","hentry","tool_categories-documents-terms","tool_categories-trade-operations"],"spectra_custom_meta":{"spectra_gs_classes":["[\"\"]"],"rank_math_internal_links_processed":["1"],"wp_statistics_words_count":["1"],"_thumbnail_id":["9878"],"rank_math_title":["%title% %sep% %sitename%"],"rank_math_description":["%excerpt%"],"rank_math_robots":["a:2:{i:0;s:5:\"index\";i:1;s:6:\"follow\";}"],"rank_math_facebook_image":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/proforma-invoice-builder-social-share.webp"],"rank_math_facebook_image_id":["9878"],"rank_math_twitter_use_facebook":["on"],"rank_math_twitter_card_type":["summary_large_image"],"rank_math_schema_SoftwareApplication":["a:8:{s:5:\"@type\";s:19:\"SoftwareApplication\";s:4:\"name\";s:24:\"Proforma Invoice Builder\";s:11:\"description\";s:160:\"Build a clear proforma invoice draft with seller, buyer, commercial terms, product lines, charges, totals, and printable or downloadable output in your browser.\";s:3:\"url\";s:53:\"https:\/\/tradegoai.app\/tools\/proforma-invoice-builder\/\";s:5:\"image\";s:91:\"https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/proforma-invoice-builder-social-share.webp\";s:19:\"applicationCategory\";s:19:\"BusinessApplication\";s:15:\"operatingSystem\";s:11:\"Web Browser\";s:6:\"offers\";a:3:{s:5:\"@type\";s:5:\"Offer\";s:5:\"price\";s:1:\"0\";s:13:\"priceCurrency\";s:3:\"USD\";}}"],"astra_style_timestamp_css":["1790736472"],"_uag_page_assets":["a:9:{s:3:\"css\";s:4963:\".uag-blocks-common-selector{z-index:var(--z-index-desktop) !important}@media (max-width: 976px){.uag-blocks-common-selector{z-index:var(--z-index-tablet) !important}}@media (max-width: 767px){.uag-blocks-common-selector{z-index:var(--z-index-mobile) !important}}\n.uagb-icon-list__wrap{display:flex;align-items:flex-start;justify-content:flex-start}.wp-block-uagb-icon-list-child{padding:0;transition:all 0.2s;display:inline-flex;color:#3a3a3a;align-items:center;text-decoration:none;box-shadow:none}.wp-block-uagb-icon-list-child span.uagb-icon-list__source-wrap{display:block;align-items:center}.uagb-icon-list__source-wrap svg{display:block}.uagb-icon-list__source-image{width:40px}.uagb-icon-list__outer-wrap .uagb-icon-list__content-wrap{color:#3a3a3a;display:flex;align-items:center}\n.wp-block-uagb-icon-list-child{position:relative}.wp-block-uagb-icon-list-child>a{position:absolute;top:0;left:0;width:100%;height:100%}img.uagb-icon-list__source-image{max-width:unset}.wp-block-uagb-icon-list-child .uagb-icon-list__label{word-break:break-word}\n.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__source-image{width: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap svg{width: 16px;height: 16px;font-size: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap{padding: 0px;border-radius: 0px;border-width: 0px;align-self: center;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__label{text-decoration: !important;font-weight: 600;line-height: em;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__wrap{display: flex;flex-direction: column;justify-content: center;-webkit-box-pack: center;-ms-flex-pack: center;-webkit-box-align: flex-start;-ms-flex-align: flex-start;align-items: flex-start;margin-top: 30px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__label{text-align: left;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child{text-decoration: !important;font-weight: 600;line-height: em;}.wp-block-uagb-icon-list.uagb-block-b5768981.wp-block-uagb-icon-list .wp-block-uagb-icon-list-child{margin-left: 0;margin-right: 0;margin-bottom: 10px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__source-wrap{margin-right: 15px;}.uagb-block-75fa870d.wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap{background:  !important;border-color:  !important;}.uagb-block-75fa870d.wp-block-uagb-icon-list-child:hover .uagb-icon-list__source-wrap{background:  !important;border-color:  !important;}.uagb-block-5bf81fd2.wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap{background:  !important;border-color:  !important;}.uagb-block-5bf81fd2.wp-block-uagb-icon-list-child:hover .uagb-icon-list__source-wrap{background:  !important;border-color:  !important;}@media only screen and (max-width: 976px) {.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__source-image{width: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap svg{width: 16px;height: 16px;font-size: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap {padding: 0px;border-width: 0px;align-self: center;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__wrap{display: flex;flex-direction: column;justify-content: center;-webkit-box-pack: center;-ms-flex-pack: center;-webkit-box-align: flex-start;-ms-flex-align: flex-start;align-items: flex-start;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__label{text-align: left;}.wp-block-uagb-icon-list.uagb-block-b5768981.wp-block-uagb-icon-list .wp-block-uagb-icon-list-child{margin-left: 0;margin-right: 0;margin-bottom: 10px;}}@media only screen and (max-width: 767px) {.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__source-image{width: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__label{text-align: center;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap svg{width: 16px;height: 16px;font-size: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap{padding: 0px;border-width: 0px;align-self: center;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__wrap{display: flex;flex-direction: column;justify-content: center;-webkit-box-pack: center;-ms-flex-pack: center;-webkit-box-align: center;-ms-flex-align: center;align-items: center;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;}.wp-block-uagb-icon-list.uagb-block-b5768981.wp-block-uagb-icon-list .wp-block-uagb-icon-list-child{margin-left: 0;margin-right: 0;margin-bottom: 10px;}}\";s:2:\"js\";s:0:\"\";s:18:\"current_block_list\";a:10:{i:0;s:11:\"core\/search\";i:1;s:10:\"core\/group\";i:2;s:12:\"core\/heading\";i:3;s:17:\"core\/latest-posts\";i:4;s:20:\"core\/latest-comments\";i:5;s:13:\"core\/archives\";i:6;s:15:\"core\/categories\";i:7;s:14:\"uagb\/icon-list\";i:8;s:20:\"uagb\/icon-list-child\";i:9;s:14:\"core\/shortcode\";}s:8:\"uag_flag\";b:1;s:11:\"uag_version\";s:10:\"1791813617\";s:6:\"gfonts\";a:0:{}s:10:\"gfonts_url\";s:0:\"\";s:12:\"gfonts_files\";a:0:{}s:14:\"uag_faq_layout\";b:0;}"],"_uag_css_file_name":["uag-css-9876.css"]},"uagb_featured_image_src":{"full":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/proforma-invoice-builder-social-share.webp",1200,630,false],"thumbnail":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/proforma-invoice-builder-social-share-150x150.webp",150,150,true],"medium":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/proforma-invoice-builder-social-share-300x158.webp",300,158,true],"medium_large":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/proforma-invoice-builder-social-share-768x403.webp",768,403,true],"large":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/proforma-invoice-builder-social-share-1024x538.webp",1024,538,true],"1536x1536":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/proforma-invoice-builder-social-share.webp",1200,630,false],"2048x2048":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/proforma-invoice-builder-social-share.webp",1200,630,false],"trp-custom-language-flag":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/proforma-invoice-builder-social-share-18x9.webp",18,9,true]},"uagb_author_info":{"display_name":"xiaoxi99202@gmail.com","author_link":"https:\/\/tradegoai.app\/vi\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"Build a clear proforma invoice draft with seller, buyer, commercial terms, product lines, charges, totals, and printable or downloadable output in your browser.","_links":{"self":[{"href":"https:\/\/tradegoai.app\/vi\/wp-json\/wp\/v2\/tools\/9876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tradegoai.app\/vi\/wp-json\/wp\/v2\/tools"}],"about":[{"href":"https:\/\/tradegoai.app\/vi\/wp-json\/wp\/v2\/types\/tools"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tradegoai.app\/vi\/wp-json\/wp\/v2\/media\/9878"}],"wp:attachment":[{"href":"https:\/\/tradegoai.app\/vi\/wp-json\/wp\/v2\/media?parent=9876"}],"wp:term":[{"taxonomy":"tool_categories","embeddable":true,"href":"https:\/\/tradegoai.app\/vi\/wp-json\/wp\/v2\/tool_categories?post=9876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}