Jump to content

Manchester Web Hosting

  • Content Count

  • Joined

  • Last visited

Community Reputation

2 Neutral

About Manchester Web Hosting

  • Rank
    Level 2 Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hello, Can anyone elaborate on how the gocardless payment gateway can be tested? No docs on it and cannot find anything in the community specifically about it... Added it in as a payment gateway but it just hooks up to the live account (via a whmcs.com url i may add which got my eyebrows up!). We have a gocardless dev account: https://manage-sandbox.gocardless.com/ but nothing in the settings OR when trying to connect initially allows to use that. Just want to test and ensure its working and above all see if its going to be a good option for our customers...
  2. I would say definitly wait! Agreed, the new things from our testing are breaking quite a few things. Eaxctly, a general relaese should be relitvly bug free and not get relaesed so us the 'guinea pigs' can find them. Pointless. Makes sense why no actual useful features that the users and ommunity has been crying out for many years has never materialised. Personally dont think beta testing was extensive at all... Tha says it all doesnt it.. and at the same time the lTS is forced down your throat. Such a shame a company has to act this way. Not confidence inspiring at all. Those months in there eyes must be considered years... and at the same time the lTS is forced down your throat. Such a shame a company has to act this way. Not confidence inspiring at all. 100% agree with you hear. Was looking forward to using V8 for a new project (thankfully havent updated a live existing install yet!) and all week we have been finding bugs left right and center. What a joke. There are very basic things that simply dont work OR are buggy at best. How anyone during developement or even BASIC testing didnt see or find this is beyond me. IF we did a web dev project for a client with this amount of issues youde better bet they would be fuming. Thats been the experience we have ad for the last 8 years of using WHMCS. The good old days. never gona get those back 😒 You can add around 10 more we have spotted and been told that a core issue has been opened for devs to check BUT cannot tell us IF or when they will be fixed OR addresses. SO huge ones for us involve the manualy order process AND invoicing side of things. The launch plans have basically gone flying out of the window. Just very thankful its for a new project and not using V8 on a live existing install. Would be tearing my hair out!
  3. Hello, Is this a bug? Anyone else having the same issue on v8.0.3 Brand new site and install with latest version. Updated the next invoice number to 6400. Invoice generation seems fine. Client invoices as well as in backend look fine. We placed a manual test order via backend and all invoices increment correctly fro. What we can see HOWEVER the new order notification email the admin gets has the order jnvoice number set as 3/4/5 etc so its not picking up the correct invoice number... sigh πŸ˜• Anyone else seeing this?
  4. no worries, totally get it. FYI, tested that paid option and OMG what a disaster. doesnt work as expected and made loads of notes which I will be posting in a relevant thread for that module. For a paid module it looked promising BUT using it I experienced more errors than anything else. Went back to the 'drawing board' and used the default quotes option in whmcs. Think I have it working how it needs to be albeit with a huge amount of steps ad missing part BUT neverthless working. Will post an update here on what I accomplished and the steps i took and results. Never know if we needed this and had difficulty in using the built in quote system then how we manage to use it MAY help someone else πŸ€”πŸ˜‰
  5. @(Amr) thats a shame. Yes, already aware of that but its not a suitable workaround. It will just end up screwing with the main sites stats and we will end up having to rely on 2 sets of data etc. Not ideal That would be ideal. I think it will be something to do with the hostname option etc but you will know more than I πŸ™‚ Would love if this could get implemented sooner rather than later...
  6. @Kian Thanks for the input. on my mission to find a solution I did come accross a paid solution: https://www.modulesgarden.com/products/whmcs/quotes-automation#features which I havent tested yet but seems to be able to do what we need... not sure yet... So no plans to release this then? would potentialy be helpful... Totally get that. They dont make it easy do they!
  7. @(Amr) question about how the google analytics module would work for sub domains? Maybe helpful for other lara users... So we have ga setup and also have the sub domain setup to recored visits etc via ga settings that way we don't have duplicated sessions etc. All working fine using the same ga id for the main and sub domain. Now for lara IF whmcs is installed on a sub domain i think it would make sense to only view visits to the sub domain and not the whole site? Does that make sense? What are your thoughts on this and how can lara be setup as such?
  8. Stumbled on this thread whilst searching for an answer on how to process quotes effectivly for new clients. Couldnt figure out IF i was doing something wrong, didnt have the right settings OR how it actually worked until I read this eye opening thread. What a disaster. Put a royal spanner in theworks so to speak. Id say 99% would not even bother creating accounts never mind 90%. I was thinking that we could create the account for them first (as we would if adding in a client manally say when migrating from a didfferent platform) and then send the clinet the details and password? not ideal i know. I think @Kian script would work just tested it and works greate FOR accounts that exist. Not fussed about the security side of things. I know every one has an opnion but for us I think it would be fine (until it isnt!). The bummer is how to use the current whmcs quote system for NEW clients who dont have an account?? did anyone ever OR did you ever find a workable solution for how this would work for new clients? would love to hear about it...
  9. SO after much faffing around trying to get this to work and look good here are the results which may help others that would like to customise and display specific payment info on there invoices: The code itself will display the output IF the bank transfer method is used. I guess you could change that for your own preferred pament method that you would like to display OR have a combination. Shouldnt be too hard I guess, just need to adjust the IF statement. For this one IF the bank transfer option is used then it will display the required details on the invoice IF its not the payment method then it wont display anything: #BANK TRANSFER PAYMENT if ($paymentmethod=="Bank Transfer") { $pdf->SetXY(15, 109); $pdf->SetFont('$pdfFont','B',10); $pdf->Cell(180,15,"Payment Due Via Bank Transfer",0,0,'R'); $pdf->Ln(10); $pdf->SetFont('$pdfFont','',9); $pdf->MultiCell(180,7,"Bank: Bank_Name_here\nAcc. Name: Account_Name_here\nSort Code: 12-34-56\nAccount No: 123456789\nRef:#$invoicenum"); $pdf->Ln(10); } ONLY issue with this is that I havent been able to figure out how to get the multicell to the right. The result of the above code looks like this: Not pretty at all 😞 After much tinkering this code (whilst not at all elegant and most probarbly could be optimised) works how we want it to show the details on the right: #BANK TRANSFER PAYMENTS if ($paymentmethod=="Bank Transfer") { $pdf->SetXY(15, 109); $pdf->SetFont('$pdfFont','B',10); $pdf->Cell(180,15,"Payment Due Via Bank Transfer",0,0,'R'); $pdf->Ln(10); $pdf->SetFont('$pdfFont','',9); $pdf->Cell(0, 4, "Bank: Bank_Name_here", 0, 1, 'R'); $pdf->Cell(0, 4, "Name: Account_Name_here", 0, 1, 'R'); $pdf->Cell(0, 4, "Sort Code: 12-34-56", 0, 1, 'R'); $pdf->Cell(0, 4, "Account No: 123456789", 0, 1, 'R'); $pdf->Cell(0, 4, "IBAN: 123456789", 0, 1, 'R'); $pdf->Cell(0, 4, "SWIFT: 123456789", 0, 1, 'R'); $pdf->Cell(0, 4, "Ref: #$invoicenum", 0, 1, 'R'); $pdf->Ln(10); } The result is: For those that want to use it dont forget to update the bank details and in your invoicepdf.tpl add the code around line 104. Hope this helps someone πŸ™‚
  10. @brian! I know this is an old post but trying to figure something out re pdf invoices and really struggling with some adjustments. Have read quite a few of the links but nothing has helped so far. Yup, I get that. Actually tested and figured out how to get bank transfer text displayed if its the payment method being used with: if ($paymentmethod=="Bank Transfer") { $pdf->SetFont('$pdfFont','B',9); $pdf->Cell(180,7,"Bank Transfer",0,0,'R'); $pdf->Ln(10); $pdf->SetFont('$pdfFont','',9); $ypos = $pdf->GetY(); $pdf->SetXY(15,$ypos); $pdf->MultiCell(180,4,"Bank: [i]Bank_Name_here[/i]\nAcc. Name: [i]Account_Name_here[/i]\nSort Code: [i]12-34-56[/i]\nAccount No: [i]123456789[/i]\nRef:#$invoicenum"); $pdf->Ln(10); } It outputs the right info (after replacing the dummy text). The only issue I seem to be having is trying to get it all on the right adjcent to the invoice to details on a default six theme. Tried just about everything and all i seem to be able to get close to is overlapping the text at the top of the pdf and ontop of the company details (plus messes up the rest of the pdf :( ) Been at it a few hours but its going way over my head and heres me thinking hooks were difficult. Any chance you can help me with this last bit? FYI here is the full code from invoicepdf.tpl: <?php # Logo $logoFilename = 'placeholder.png'; if (file_exists(ROOTDIR . '/assets/img/logo.png')) { $logoFilename = 'logo.png'; } elseif (file_exists(ROOTDIR . '/assets/img/logo.jpg')) { $logoFilename = 'logo.jpg'; } $pdf->Image(ROOTDIR . '/assets/img/' . $logoFilename, 15, 25, 75); # Invoice Status $pdf->SetXY(0, 0); $pdf->SetFont($pdfFont, 'B', 28); $pdf->SetTextColor(255); $pdf->SetLineWidth(0.75); $pdf->StartTransform(); $pdf->Rotate(-35, 100, 225); if ($status == 'Draft') { $pdf->SetFillColor(200); $pdf->SetDrawColor(140); } elseif ($status == 'Paid') { $pdf->SetFillColor(151, 223, 74); $pdf->SetDrawColor(110, 192, 70); } elseif ($status == 'Cancelled') { $pdf->SetFillColor(200); $pdf->SetDrawColor(140); } elseif ($status == 'Refunded') { $pdf->SetFillColor(131, 182, 218); $pdf->SetDrawColor(91, 136, 182); } elseif ($status == 'Collections') { $pdf->SetFillColor(3, 3, 2); $pdf->SetDrawColor(127); } else { $pdf->SetFillColor(223, 85, 74); $pdf->SetDrawColor(171, 49, 43); } if ($status == 'Payment Pending'){ $pdf->Cell(100, 18, strtoupper(Lang::trans('invoices' . str_replace(' ', '', $status))), 'TB', 0, 'C', '1'); } else { $pdf->Cell(100, 18, strtoupper(Lang::trans('invoices' . strtolower($status))), 'TB', 0, 'C', '1'); } $pdf->StopTransform(); $pdf->SetTextColor(0); # Company Details $pdf->SetXY(15, 42); $pdf->SetFont($pdfFont, '', 13); foreach ($companyaddress as $addressLine) { $pdf->Cell(180, 4, trim($addressLine), 0, 1, 'R'); $pdf->SetFont($pdfFont, '', 9); } if ($taxCode) { $pdf->Cell(180, 4, $taxIdLabel . ': ' . trim($taxCode), 0, 1, 'R'); } $pdf->Ln(5); # Header Bar /** * Invoice header * * You can optionally define a header/footer in a way that is repeated across page breaks. * For more information, see https://docs.whmcs.com/PDF_Invoice#Header.2FFooter */ $pdf->SetFont($pdfFont, 'B', 15); $pdf->SetFillColor(239); $pdf->Cell(0, 8, $pagetitle, 0, 1, 'L', '1'); $pdf->SetFont($pdfFont, '', 10); $pdf->Cell(0, 6, Lang::trans('invoicesdatecreated') . ': ' . $datecreated, 0, 1, 'L', '1'); $pdf->Cell(0, 6, Lang::trans('invoicesdatedue') . ': ' . $duedate, 0, 1, 'L', '1'); $pdf->Ln(10); $startpage = $pdf->GetPage(); # Clients Details $addressypos = $pdf->GetY(); $pdf->SetFont($pdfFont, 'B', 10); $pdf->Cell(0, 4, Lang::trans('invoicesinvoicedto'), 0, 1); $pdf->SetFont($pdfFont, '', 9); if ($clientsdetails["companyname"]) { $pdf->Cell(0, 4, $clientsdetails["companyname"], 0, 1, 'L'); $pdf->Cell(0, 4, Lang::trans('invoicesattn') . ': ' . $clientsdetails["firstname"] . ' ' . $clientsdetails["lastname"], 0, 1, 'L'); } else { $pdf->Cell(0, 4, $clientsdetails["firstname"] . " " . $clientsdetails["lastname"], 0, 1, 'L'); } $pdf->Cell(0, 4, $clientsdetails["address1"], 0, 1, 'L'); if ($clientsdetails["address2"]) { $pdf->Cell(0, 4, $clientsdetails["address2"], 0, 1, 'L'); } $pdf->Cell(0, 4, $clientsdetails["city"] . ", " . $clientsdetails["state"] . ", " . $clientsdetails["postcode"], 0, 1, 'L'); $pdf->Cell(0, 4, $clientsdetails["country"], 0, 1, 'L'); if (array_key_exists('tax_id', $clientsdetails) && $clientsdetails['tax_id']) { $pdf->Cell(0, 4, $taxIdLabel . ': ' . $clientsdetails['tax_id'], 0, 1, 'L'); } if ($customfields) { $pdf->Ln(); foreach ($customfields as $customfield) { $pdf->Cell(0, 4, $customfield['fieldname'] . ': ' . $customfield['value'], 0, 1, 'L'); } } $pdf->Ln(10); # Bank transfer output if ($paymentmethod=="Bank Transfer") { $pdf->SetFont('$pdfFont','B',9); $pdf->Cell(180,7,"Bank Transfer",0,0,'R'); $pdf->Ln(10); $pdf->SetFont('$pdfFont','',9); $ypos = $pdf->GetY(); $pdf->SetXY(15,$ypos); $pdf->MultiCell(180,4,"Bank: [i]Bank_Name_here[/i]\nAcc. Name: [i]Account_Name_here[/i]\nSort Code: [i]12-34-56[/i]\nAccount No: [i]123456789[/i]\nRef:#$invoicenum"); $pdf->Ln(10); } # Invoice Items $tblhtml = '<table width="100%" bgcolor="#ccc" cellspacing="1" cellpadding="2" border="0"> <tr height="30" bgcolor="#efefef" style="font-weight:bold;text-align:center;"> <td width="80%">' . Lang::trans('invoicesdescription') . '</td> <td width="20%">' . Lang::trans('quotelinetotal') . '</td> </tr>'; foreach ($invoiceitems as $item) { $tblhtml .= ' <tr bgcolor="#fff"> <td align="left">' . nl2br($item['description']) . '<br /></td> <td align="center">' . $item['amount'] . '</td> </tr>'; } $tblhtml .= ' <tr height="30" bgcolor="#efefef" style="font-weight:bold;"> <td align="right">' . Lang::trans('invoicessubtotal') . '</td> <td align="center">' . $subtotal . '</td> </tr>'; if ($taxname) { $tblhtml .= ' <tr height="30" bgcolor="#efefef" style="font-weight:bold;"> <td align="right">' . $taxrate . '% ' . $taxname . '</td> <td align="center">' . $tax . '</td> </tr>'; } if ($taxname2) { $tblhtml .= ' <tr height="30" bgcolor="#efefef" style="font-weight:bold;"> <td align="right">' . $taxrate2 . '% ' . $taxname2 . '</td> <td align="center">' . $tax2 . '</td> </tr>'; } $tblhtml .= ' <tr height="30" bgcolor="#efefef" style="font-weight:bold;"> <td align="right">' . Lang::trans('invoicescredit') . '</td> <td align="center">' . $credit . '</td> </tr> <tr height="30" bgcolor="#efefef" style="font-weight:bold;"> <td align="right">' . Lang::trans('invoicestotal') . '</td> <td align="center">' . $total . '</td> </tr> </table>'; $pdf->writeHTML($tblhtml, true, false, false, false, ''); $pdf->Ln(5); # Transactions $pdf->SetFont($pdfFont, 'B', 12); $pdf->Cell(0, 4, Lang::trans('invoicestransactions'), 0, 1); $pdf->Ln(5); $pdf->SetFont($pdfFont, '', 9); $tblhtml = '<table width="100%" bgcolor="#ccc" cellspacing="1" cellpadding="2" border="0"> <tr height="30" bgcolor="#efefef" style="font-weight:bold;text-align:center;"> <td width="25%">' . Lang::trans('invoicestransdate') . '</td> <td width="25%">' . Lang::trans('invoicestransgateway') . '</td> <td width="30%">' . Lang::trans('invoicestransid') . '</td> <td width="20%">' . Lang::trans('invoicestransamount') . '</td> </tr>'; if (!count($transactions)) { $tblhtml .= ' <tr bgcolor="#fff"> <td colspan="4" align="center">' . Lang::trans('invoicestransnonefound') . '</td> </tr>'; } else { foreach ($transactions AS $trans) { $tblhtml .= ' <tr bgcolor="#fff"> <td align="center">' . $trans['date'] . '</td> <td align="center">' . $trans['gateway'] . '</td> <td align="center">' . $trans['transid'] . '</td> <td align="center">' . $trans['amount'] . '</td> </tr>'; } } $tblhtml .= ' <tr height="30" bgcolor="#efefef" style="font-weight:bold;"> <td colspan="3" align="right">' . Lang::trans('invoicesbalance') . '</td> <td align="center">' . $balance . '</td> </tr> </table>'; $pdf->writeHTML($tblhtml, true, false, false, false, ''); # Notes if ($notes) { $pdf->Ln(5); $pdf->SetFont($pdfFont, '', 8); $pdf->MultiCell(170, 5, Lang::trans('invoicesnotes') . ': ' . $notes); } # Generation Date $pdf->SetFont($pdfFont, '', 8); $pdf->Ln(5); $pdf->Cell(180, 4, Lang::trans('invoicepdfgenerated') . ' ' . getTodaysDate(1), '', '', 'C'); /** * Invoice footer */
  11. well thats what we are using them for... and they dont work half the time :( ROFLMAO you hit the nail on the head πŸ˜‰ yup I get it... still dont think it was funny for back then either. I got mine think in 2009 and when m*a*t was at the forefront thing seemed to be getting done hence kept in there.... now its well dont think I am allowed to shout profanaties 🀬on this community and its generally not nice anyway so I will refrain from chatting πŸ’© Ditto, get the vibe loud and clear... much more going on that meets the eye πŸ‘οΈ Dont think thats going to happen any time soon. Loads of potentials have come and gone over th years.. Each time a new prospect appeared there was a slight glimmer of hope which was quickly washed away. Dont understand why they dont get into the market properly. The only affect it has had is to allow these guys more market share heading towards what they may wish is a kind of monopoly. My 2cent. Anyways small rant over! Dont worry buddy, I mean its not as if your are paid support (wonder if support have ever considered employing you for real? considering you do the work of the WHOLE department. Either they are all umpa lumpas or minions!!!)
  12. Hello, I have put a bug request in (should it have been a support ticket????) Any one else having this issue: Lets say you have a client that has funds in his account. They go to purchase a product: > on the checkout they are already logged in. They have 2 options presented: 1. pay using account credit OR pay using card (for which the relevant CVV field is displayed). NOW if the client chooses to pay with credit (that opion is selected as default) they would then naturally scroll down, click agree terms and click submit. Thats when the issue happens. An ERROR comes back stating they didnt fill inthe CVV field.... Well why would they? they paid with credits. (Come to think of it IF that credit option is displayed and selected as the default option WHY does the CVV field even displayed initially? seems weird behaviour. IF they choose NOT to pay with the credit and select the card (or other payment option) then yes that should then bring up the CVV field OR any other related card options...) As they have now got an error message, they scroll down (still logged in) only to find that the CVV field has disaapeared and the full card form is now shown. What?! How daft is that. They have a card on file (but cannot view via any account screen it as we use the sagepay token system (think that removes the payment methords display screen??) , but thankfully the checkout gives an indication what the card is which is good) BUT when this error happens ONLy the full form is shown and the previous CVV field (which also diaplyed last 4 digits of card is not there). SO that adds more confusion. IF you go back to cart.php?=view and then click on checkout the initial view is shown again i.e. pay with credits OR card and the CVV field only is also shown together with the stores card details. Just seems a bit backwards how this is working and clearly when an error is shown there is a bug. To top it off, lets sya you select pay with credits AND you enter the CVV (you have the hindsight to do so) and complete the purchase. You have used your account credits... WELL the order notification the admin gets states a new order with payment methord being: CARD/SAGE/STRIPE etc and NOT via credits/account funds etc. Thats totally incorrect. This is happening on a default SIX theme and default STANDARD CART order form with NO customisations and all hooks (only 3 avliable anayway) off... Is anyone else haing this issue OR can replicate this? Thankfully this is still on a dev install and was just about to migrate to live when testing brought this up! Phew. That would have created a whole load of issues as TBH not a whole lot of or clients are that savvy to think to enter the cvv IF they were paying using there credits (I mean who would??)
  13. Aha, you are indeed correct! i right clicked and opened in new tab yesterday BUt never actually checked the tab. I did just now and you are right it just shows the same page again. Someone needs to give those guys a bafta OR grammy. The work they do is fantastic... maybe someday they should be nominated for a nobel prize?
  14. Yup agree. annoying is putting it mildly tho... the dat feed needs to be scrapped it just doesnt work OR is way too buggy. has a mind of its own! exactly. shouldnt be left to the community to fix core functions. I dont think it was funny back then and certinly dont think it is now. Pretty shameful TBH. Yes it would be... BUT You did it again. Nice an simple πŸ™‚ that works a treat for what we need. Getting to use the simplest of functions etc seems the bets way to get updates done without bashing your head with a baseball bat wondering whats going wrong. Enough stress in the world as it is. again coulnt agree with you more. They had potential and neglecting them well... begs the question what was the point in the first place? Sadly as its commentated time and time again the whmcs team just seem to roll out things as they please regardless if it actually has any benefit and neglect things that should be fixed OR add in what would be useful... No hope now that cpanel own them ;( Anyways, much gracias for your help. Stella support (ehm ehm) as usual πŸ™‚
  • 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