Jump to content

Search the Community

Showing results for tags 'Quote'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


WHMCS.Community

  • WHMCS Beta Program
    • WHMCS 9.0 RC Discussion
  • WHMCS.Community
    • Community Announcements
    • Introduce Yourself
    • MarketConnect Partner Product Status Updates
  • Using WHMCS
    • Pre-Sales Questions
    • Admin & Configuration Questions
    • Installation, Upgrade, and Import Support
    • Using WHMCS
    • Troubleshooting Issues
    • Vendor Discussions
  • WHMCS Showcase
    • Showcase Your Site
    • Share Your Best Practices & Tips
  • Developing & Extending WHMCS
    • Third Party Add-ons
    • Service Offers & Requests
    • Developer Corner
    • Building Modules
    • Share Ideas for WHMCS Modules
  • Community Competitions
    • News, Announcements & Blogs from WHMCS
    • Competitions
  • General Discussions
    • General Discussion
  • General Feedback & Assistance
    • Feedback
    • WHMCS.Community Tips & Tricks
  • Third Party Developers's Topics
  • Turkish International Discussions's Topics
  • Russian International Discussions's Topics
  • Spanish International Discussions's Topics
  • Portuguese International Discussions's Topics
  • French International Discussions's Topics
  • Italian International Discussions's Topics
  • German International Discussions's Topics
  • WHMCS Brasil's Topics
  • WHMCS Brasil's Tópicos
  • ModulesGarden Club's Topics
  • Hungarian International Discussions's Segítség
  • ThemeMetro's Topics
  • WHMCS Services Club's Topics
  • WHMCS Global Services Club's Topics
  • Katamaze's Free Scripts
  • Katamaze's Module Support
  • Zomex Club's Topics
  • 0100Dev Club's Topics
  • RactStudio Club's Topics

WHMCS Version

  • V8.13.x Hotfixes
  • V8.12.x Hotfixes
  • V8.11.x Hotfixes

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me

Found 8 results

  1. 1. Proxmox VE VPS & Cloud For WHMCS 4.1.0 - 10% OFF Our Proxmox VE VPS & Cloud For WHMCS has evolved more than ever this year, but there's still more to come! Version 4.1.0 adds full support for Proxmox VE 9.0 along with a generous round of new tools that will instantly make daily management tasks easier: A brand-new dashboard page featuring backup task statistics, virtual machine counts, and resource usage graphs. Advanced Console Proxy management that lets you handle multiple proxy connections, configured globally or per node, depending on how you like to work. A network selection dropdown available when creating virtual machines. The option to assign virtual machines to a specific node automatically, based on the selected template or group of templates. Expanded High Availability configuration options via App Templates with a series of new parameters. An alternative VM ID generation method using an auto-incrementing counter for those who prefer clean, consistent numbering. And as always, the changelog holds plenty more for curious minds: improvements and tweaks that make the whole experience feel simply enjoyable. And while you're exploring, don't miss the 10% discount available for a few more days! → Check out what's new in Proxmox VE VPS & Cloud For WHMCS 4.1.0! 2. Advanced Billing For WHMCS 4.3.0 If you've been using Proxmox VE VPS & Cloud For WHMCS, there's a good chance you've already teamed it up with another one of our most popular modules - Advanced Billing For WHMCS. And if your business runs on OpenStack, here's some good news for you too! Just a few days ago, Advanced Billing got even more powerful through a brand-new integration with OpenStack Projects For WHMCS. The 4.3.0 update adds a few clever new options, such as a new metric mode based on OpenStack's quota command, VHI S3 support, and a fresh metric that shows the highest number of IP addresses in use. These are all small changes that make a big difference when you want to stay on top of your usage and costs. → Take a closer look at Advanced Billing For WHMCS 4.3.0! 3. Partnering with OpenMetal to Support OpenStack Following our recent developments around OpenStack, we'd also like to highlight a strategic collaboration we've entered into with OpenMetal - an initiative that brings real-world improvements to how OpenStack can be used in hosting environments. The idea behind it is simple: pair a fully automated OpenStack Projects For WHMCS module with OpenMetal's on-demand OpenStack infrastructure to make it easier for providers to start offering OpenStack-based services, without a long setup process or deep technical expertise. If OpenStack has been on your radar but never quite felt within reach, this collaboration might be worth a look. We've also introduced a unique 15% discount on our WHMCS module, for those ready to give it a try! → See how OpenStack becomes easier to work with through this partnership! 4. CRM Module Bundle: A Simpler Way to Stay Organized in WHMCS It may seem that staying connected with clients is basically about sending messages, but it's much more than that: timing, structure, and knowing what comes next are just as important. Our CRM Module Bundle brings that rhythm back into your daily workflow by coordinating lead tracking, quoting, reporting, and client communication into one monthly subscription inside WHMCS. Instead of managing disconnected tools, you get a unified experience supported by four proven WHMCS modules that help every interaction stay on track! → Learn how one smart CRM bundle saves you $270 each year! Need WHMCS Module Development For Your Business? Get Your Free Quote Now! We can customize our modules to fit your exact needs or even create a completely new one from scratch to give your WHMCS platform an added boost!
  2. Hi I've seen numerous treads on this community, and generally other forums across the net regarding showing the product description below the name of product in invoices and quotes. I cannot find a setting nor any codes I can add in the TPL files. Is there a module or code I can add so the description shows in the pdf of the invoice or quote?
  3. Hello, Could you give me all the variables available for a quote. I would like to include the price of the quote in my email. Thank you
  4. this is a snippet of my quote/contract script it seems to know the recurring but not the onetime, it shows the "unit price" but no the "total price I need to have the one time and payments show up in the contract the 2 hooks you need to add in //term is the call // 1 displays the number of months [term: 1] [recur:36] <?php $pdf->Image(ROOTDIR.'/assets/img/rwclogo.png', 63,10,75,'c'); $pdf->MultiCell(170,5,""); $pdf->SetFont('freesans','B',11); $pdf->Cell(175,40,"CONTRACT FOR $subject ONLINE MARKETING SERVICES",25,1,'C'); $total_onetime = 0; $total_recur = array(); foreach ($lineitems AS $item) { $description = $item["description"]; # find term $matches = array(); preg_match('/\[term:(.*?)\]/i', $description, $matches); if (empty($matches)) { $term = ''; } else { $term = strtolower(trim($matches[1])); $description = str_replace($matches[0], '', $description); } # find recur $matches = array(); preg_match('/\[recur:(.*?)\]/i', $description, $matches); if (empty($matches)) { $recur = ''; } else { $recur = strtolower(trim($matches[1])); $description = trim(str_replace($matches[0], '', $description)); } # get unit price and total price $matches = array(); preg_match('/\d+\.\d+/', $item['unitprice'], $matches); $item_unitprice = (float)$matches[0]; $matches = array(); preg_match('/\d+\.\d+/', $item['total'], $matches); $item_total = (float)$matches[0]; # add onetime and recurring totals if ($recur == '') { $total_onetime += $item_total; } else { if (!array_key_exists($recur, $total_recur)) { $total_recur[$recur] = 0; } $total_recur[$recur] += $item_total; } } $pdf->SetFont('freesans','B',9); if ($total_onetime > 0) { } foreach (array('monthly', 'quarterly', 'semi-annually', 'annually', 'biennially') as $recur) { if (isset($total_recur[$recur]) && $total_recur[$recur] > 0) { } unset($total_recur[$recur]); } # any remaining recurs foreach ($total_recur as $recur => $amount) { } #========================================================================== # determine weather to show the ONE TIME payment or not #if ( $total_onetime < 100 ) { #$ot_show = false; #} #else { #$ot_show = true; #} #========================================================================== # determines weather or not to split the initial payment in half #if ( $total_onetime >= 10000 ) { #$bulk = $total_onetime / 2; #$addtl_payment_msg = 'and the second half of $' .$bulk. ', will be due within 60 days. '; #} else { #$bulk = $total_onetime; #$addtl_payment_msg = ''; } #========================================================================== #calculate One time payment using monthly pymts as a varible #========================================================================== #$otpp = ( $total_recur[$recur] * $recur ); #$ots = ( $otpp * .1); #$ots = round( $ots, 2, PHP_ROUND_HALF_UP ); #$otp = $otpp - ($otpp * .1); #$otp = round( $otp, 2, PHP_ROUND_HALF_UP ); #========================================================================== #calculate One time payment and monthly payment to come up with a total #$totalot = ( $total_recur[$recur] * $recur + $bulk ); #$totalot10 = ( $totalot - $ots ); #========================================================================== $pdf->SetDrawColor(255); $pdf->SetFillColor(255); $pdf->SetFont('freesans','B',9); $pdf->Cell(170,5,"Authorization:",0,0,'L'); $pdf->SetFont('freesans','',9); $pdf->MultiCell(170,5,""); $pdf->SetFont('freesans','',9,C); $pdf->MultiCell(170,5," This document defines the TERMS AND CONDITIONS (T&C) of our working relationship. All projects or services (“the work”) that AGENCY (or “we”) RWC ME 04401 may be contracted to produce or provide for CLIENT ($clientsdetails[companyname]) will be subject to and you the undersigned agree to the following: The CLIENT authorizes the AGENCY access CLIENT's current website, webhost, and all digital materials to transfer as needed from the CLIENT for the purposes of completeing the work on the domain $subject. The CLIENT authorizes use of CLIENT's logo and all brand identification in the creation of the website. The CLIENT understands they are entering into a$pdf->Cell $recur month contract with THE AGENCY. The Agency will only begin work after CLIENT’s approval of the project authorization to proceed,(ATP) and the terms and conditions,(T&C) and after receipt of payment of the initial invoice $".$total_onetime. ". Your signature/execution of the ATP and the T&C will constitute an AGREEMENT between us. "); $pdf->MultiCell(170,5,""); $pdf->SetFont('freesans','B',9); $pdf->Cell(170,5,"Description of the work:",0,0,'L'); $pdf->SetFont('freesans','',9); $pdf->MultiCell(170,5,""); $pdf->SetFont('freesans','',9,L); $pdf->MultiCell(170,5,"$notes",0,1,'C'); if ($proposal) { $pdf->MultiCell(170,5,""); $pdf->SetFont('freesans','B',9); $pdf->Cell(170,5,"Installment Plan:",0,0,'L'); $pdf->SetFont('freesans','',9); $pdf->MultiCell(170,5,""); $pdf->SetFont('freesans','',9,L); $pdf->MultiCell(170,5,$proposal ); } $pdf->AddPage(); $pdf->MultiCell(170,5,""); $pdf->SetFont('freesans','B',9); $pdf->Cell(170,5,"Approvals:",0,0,'L'); $pdf->SetFont('freesans','',9); $pdf->MultiCell(170,5,""); $pdf->SetFont('freesans','',9,L); $pdf->MultiCell(170,5," $pdf->MultiCell(170,5,""); $pdf->SetFont('freesans','B',9); $pdf->Cell(170,5,"Additions and Alterations:",0,0,'L'); $pdf->SetFont('freesans','',9); $pdf->MultiCell(170,5,""); $pdf->SetFont('freesans','',9,C); $pdf->MultiCell(170,5," "); $pdf->MultiCell(170,5,""); $pdf->SetFont('freesans','B',9); $pdf->Cell(170,5,"Payments:",0,0,'L'); $pdf->SetFont('freesans','',9); $pdf->MultiCell(170,5,""); $pdf->SetFont('freesans','',9,L); $pdf->MultiCell(170,5,"The AGENCY is providing Online Marketing Services in advance of total payment. The CLIENT will have an initial down payment of $" . $bulk . ". that is due at the signing of this contract, " .$addtl_payment_msg. "Then an ongoing payment of $pdf->Cell $$total_recur[$recur], on a monthly basis for the following$pdf->Cell $recur months, starting from the date of signing this agreement. " ); $pdf->MultiCell(170,5,""); $pdf->AddPage(); $pdf->Image(ROOTDIR.'/assets/img/rwclogo.png', 63,10,75,'c'); $pdf->SetFont('freesans','B',11); $pdf->Ln(); $pdf->SetFont('freesans','B',9); $pdf->Ln(); $pdf->SetFont('freesans','',9); $pdf->MultiCell(39,5,""); $pdf->Ln(); $pdf->SetFont('freesans','B',9); $pdf->SetDrawColor(200); $pdf->SetFillColor(239); $pdf->SetFont('freesans','',9); $pdf->Cell(10,6,"Qty",1,0,'C','1'); $pdf->Cell(80,6,"Description",1,0,'C','1'); $pdf->Cell(20,6,"Recur",1,0,'C','1'); $pdf->Cell(20,6,"Term",1,0,'C','1'); $pdf->Cell(20,6,"Unit Price",1,0,'C','1'); $pdf->Cell(20,6,"Total",1,0,'C','1'); $pdf->Ln(); $pdf->SetFont('freesans','B',9); $total_onetime = 0; $total_recur = array(); foreach ($lineitems AS $item) { $description = $item["description"]; #========================================================================== # find term #========================================================================== $matches = array(); preg_match('/\[term:(.*?)\]/i', $description, $matches); if (empty($matches)) { $term = ''; } else { $term = strtolower(trim($matches[1])); $description = str_replace($matches[0], '', $description); } #========================================================================== # find recur #========================================================================== $matches = array(); preg_match('/\[recur:(.*?)\]/i', $description, $matches); if (empty($matches)) { $recur = ''; } else { $recur = strtolower(trim($matches[1])); $description = trim(str_replace($matches[0], '', $description)); } #========================================================================== # get unit price and total price #========================================================================== $matches = array(); preg_match('/\d+\.\d+/', $item['unitprice'], $matches); $item_unitprice = (float)$matches[0]; $matches = array(); preg_match('/\d+\.\d+/', $item['total'], $matches); $item_total = (float)$matches[0]; #========================================================================== # add onetime and recurring totals #========================================================================== if ($recur == '') { $total_onetime += $item_total; } else { if (!array_key_exists($recur, $total_recur)) { $total_recur[$recur] = 0; } $total_recur[$recur] += $item_total; } #========================================================================== # display line items #========================================================================== $numlines = ceil(strlen($description)/55); $cellheight = $numlines * 8; $pdf->MultiCell(10,$cellheight,$item["qty"],1,'C','',0); $pdf->MultiCell(80,$cellheight,$description,1,'L','',0); $pdf->MultiCell(20,$cellheight,$recur,'1','C','',0); $pdf->MultiCell(20,$cellheight,$term,'1','C','',0); $pdf->MultiCell(20,$cellheight,sprintf('$%.2f',$item_unitprice),1,'C','',0); $pdf->MultiCell(20,$cellheight,sprintf('$%.2f',$item_total),1,'C','',1); } $pdf->SetFont('freesans','B',9); /* $pdf->Cell(145,6,"Subtotal",1,0,'R','1'); $pdf->Cell(25,6,$currencysymbol.$subtotal,1,0,'C','1'); $pdf->Ln(); if ($taxlevel1["rate"]>0) { $pdf->Cell(145,6,$taxlevel1["name"]." @ ".$taxlevel1["rate"]."%",1,0,'R','1'); $pdf->Cell(25,6,$currencysymbol.$tax1,1,0,'C','1'); $pdf->Ln(); } if ($taxlevel2["rate"]>0) { $pdf->Cell(145,6,$taxlevel2["name"]." @ ".$taxlevel2["rate"]."%",1,0,'R','1'); $pdf->Cell(25,6,$currencysymbol.$tax2,1,0,'C','1'); $pdf->Ln(); } $pdf->Cell(145,6,"Total",1,0,'R','1'); $pdf->Cell(25,6,$currencysymbol.$total,1,0,'C','1'); $pdf->Ln(); */ if ($total_onetime > 0) { $pdf->Cell(150,6,'Pre-Pay',1,0,'R',1); $pdf->Cell(20,6,sprintf('$%.2f',$total_onetime),1,0,'C',1); $pdf->Ln(); } foreach (array('monthly', 'quarterly', 'semi-annually', 'annually', 'biennially') as $recur) { if (isset($total_recur[$recur]) && $total_recur[$recur] > 0) { $pdf->Cell(150,6,ucfirst($recur) . ' Monthly Payments',1,0,'R',1); $pdf->Cell(20,6,sprintf('$%.2f',$total_recur[$recur]),1,0,'C',1); $pdf->Ln(); } unset($total_recur[$recur]); } #========================================================================== # any remaining recurs #========================================================================== foreach ($total_recur as $recur => $amount) { $pdf->Cell(150,6,ucfirst($recur) . ' Monthly Payments',1,0,'R',1); $pdf->Cell(20,6,sprintf('$%.2f',$amount),1,0,'C',1); $pdf->Ln(); } $pdf->SetFont('freesans','',9,l); $pdf->MultiCell(170,5,"
  5. Hi there, I do send out quotes via WHMCS quite often and almost never apply discounts to my quotes. It doesn't look very professional to my clients when I send them a quote with 0% discount all over it. I think the discount table should be hidden when there is no discount applied to the quote at all and only show when there is a discount applied. Anyone able to help me arrange this?
  6. Hi again, Hope everyone is doing well. Is there any way for me to add a custom product on WHMCS that only serves the purpose of sending a quote request to me? In essence. I want specific products to be requested only through a quotation request. It shouldn't be a full fledged order. Thank you for any advice and assistance. Enjoy your day 🙂
  7. When you send a quote, WHMCS forces customers to login in order to accept it. This hook allows them to accept without the need to login. Every time the Quote Delivery with PDF mail is sent, the hook overrides {$quote_link} with a new link that contains an hash that ensures the authenticity of the request. This way only the recipient can accept the quote. When the visitor clicks the link, the quote is automatically accepted and he/she sees the following modal on screen. Get the Code »
  8. Hello, I'm having trouble using the WHMCS PDF Quote, as well as the PDF Invoice. The issue have is that my TAX ID field needs to be showing on the PDF Quote under my business name and address but it does not. Another issue I have is that if I head to Setup > General Settings and add the Tax ID inside the Pay To Text field, the Invoice PDF will then have two Tax ID's because the Invoice by default has the Tax ID field inserted in the pdf while the quote does not. Can anyone assist me in giving me the code to add to the quotepdf.tpl to make the default Quote Form to contain my Tax ID field please. Thank you in advance
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated