[TH] Invoices [Deleted]

Jon W

Well-known member
Waindigo submitted a new resource:

Invoices by Waindigo - Adds the ability to create/schedule invoices between users.

This add-on adds an invoices section to the front-end and admin control panel, giving admins the ability to create invoices from one user to another.

Admins can easily create a single invoice with unlimited invoice items with just a few clicks. The invoice is then sent to the user, who is sent an email and given an alert.

Additionally, admins can set...

Read more about this resource...
 
Last edited:
I'm encountering a problem when attempting to view the created invoice:

Fatal error: Class 'Waindigo_Pdf' not found in /xenforo/library/Waindigo/Invoices/Model/Invoice.php on line 464

Thanks,
 
Beautiful! Just in time for us too! Will be giving feedback once it goes live on our site!!

Thank you!!!

EDIT: I take it this has a paypal button the invoicee gets?
 
Great add on, and works well!

Some suggestions for features you should include:
  • Ability to define the currency you want the invoice to be in.
  • Ability to define change the status of the invoice - e.g. paid, overdue, pending
  • Ability for users to pay invoices via Paypal.
Hopefully you can add these for the benefit of all. (y)
 
An Error that came up after creating an invoice:

Error Info
ErrorException: iconv() [<a href='function.iconv'>function.iconv</a>]: Detected an illegal character in input string - library/Zend/Pdf/Resource/Font/Simple.php:267
Generated By: oman, 5 minutes ago
Stack Trace
#0 [internal function]: XenForo_Application::handlePhpError(8, 'iconv() [<a hre...', '/home/technolo/...', 267, Array)
#1 /home/technolo/public_html/library/Zend/Pdf/Resource/Font/Simple.php(267): iconv('UTF-8', 'CP1252//IGNORE', '?20.00')
#2 /home/technolo/public_html/library/Waindigo/Pdf/Block/20130215.php(73): Zend_Pdf_Resource_Font_Simple->encodeString('?20.00', 'UTF-8')
#3 /home/technolo/public_html/library/Waindigo/Invoices/Pdf/Block/Invoice/Items.php(169): Waindigo_Pdf_Block::widthForStringUsingFontSize('?20.00', Object(Zend_Pdf_Resource_Font_Simple_Standard_Helvetica), 10)
#4 /home/technolo/public_html/library/Waindigo/Invoices/Pdf/Block/Invoice/Items.php(143): Waindigo_Invoices_Pdf_Block_Invoice_Items->_drawItemColumns(Object(Zend_Pdf_Page), Array, Object(Zend_Pdf_Resource_Font_Simple_Standard_Helvetica), 10, 40, 566.2)
#5 /home/technolo/public_html/library/Waindigo/Invoices/Pdf/Block/Invoice/Items.php(50): Waindigo_Invoices_Pdf_Block_Invoice_Items->_drawItem(Object(Waindigo_Invoices_Pdf_Invoice), Array, Array)
#6 /home/technolo/public_html/library/Waindigo/Invoices/Pdf/Invoice.php(25): Waindigo_Invoices_Pdf_Block_Invoice_Items->draw(Object(Waindigo_Invoices_Pdf_Invoice), Array)
#7 /home/technolo/public_html/library/Waindigo/Invoices/Pdf/Invoice.php(12): Waindigo_Invoices_Pdf_Invoice->_drawItems()
#8 /home/technolo/public_html/library/Waindigo/Invoices/Model/Invoice.php(466): Waindigo_Invoices_Pdf_Invoice->draw(Array)
#9 /home/technolo/public_html/library/Waindigo/Invoices/Extend/XenForo/ControllerPublic/Account.php(55): Waindigo_Invoices_Model_Invoice->getInvoicePdf(Array)
#10 /home/technolo/public_html/library/XenForo/FrontController.php(347): Waindigo_Invoices_Extend_XenForo_ControllerPublic_Account->actionInvoiceView()
#11 /home/technolo/public_html/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#12 /home/technolo/public_html/index.php(13): XenForo_FrontController->run()
#13 {main}
Request State
array(3) {
["url"] => string(62) "URL REMOVED"
["_GET"] => array(1) {
["invoice_id"] => string(1) "1"
}
["_POST"] => array(0) {
}
}
 
Last edited:
Also, the error on the page that comes up when you try to view an invoice that doesn't exist needs to be fixed:

dUe5GSf.png
 
Also, not sure if this is as designed, but I just logged in with a test account and managed to view someone else's invoice by pasting in the URL of the invoice. Surely it should block them off saying that they do not have permission to view that invoice at least.
 
1. When I tried to add a recurring invoice, it ended up with a normal invoice.

2. I don't get to delete the invoices as well.

3. I don't get any alerts even though there is an alert template.

4. Got this in my server error log as well
Code:
Error Info
ErrorException: iconv(): Detected an illegal character in input string - library/Zend/Pdf/Resource/Font/Simple.php:267
Generated By: xxx, 5 minutes ago
Stack Trace

#0 [internal function]: XenForo_Application::handlePhpError(8, 'iconv(): Detect...', '/home/xxx/...', 267, Array)
#1 /home/xxx/public_html/library/Zend/Pdf/Resource/Font/Simple.php(267): iconv('UTF-8', 'CP1252//IGNORE', '\xA3300300')
#2 /home/xxx/public_html/library/Waindigo/Pdf/Block/20130215.php(73): Zend_Pdf_Resource_Font_Simple->encodeString('\xA3300300', 'UTF-8')
#3 /home/xxx/public_html/library/Waindigo/Invoices/Pdf/Block/Invoice/Items.php(169): Waindigo_Pdf_Block::widthForStringUsingFontSize('\xA3300300', Object(Zend_Pdf_Resource_Font_Simple_Standard_Helvetica), 10)
#4 /home/xxx/public_html/library/Waindigo/Invoices/Pdf/Block/Invoice/Items.php(143): Waindigo_Invoices_Pdf_Block_Invoice_Items->_drawItemColumns(Object(Zend_Pdf_Page), Array, Object(Zend_Pdf_Resource_Font_Simple_Standard_Helvetica), 10, 40, 566.2)
#5 /home/xxx/public_html/library/Waindigo/Invoices/Pdf/Block/Invoice/Items.php(50): Waindigo_Invoices_Pdf_Block_Invoice_Items->_drawItem(Object(Waindigo_Invoices_Pdf_Invoice), Array, Array)
#6 /home/xxx/public_html/library/Waindigo/Invoices/Pdf/Invoice.php(25): Waindigo_Invoices_Pdf_Block_Invoice_Items->draw(Object(Waindigo_Invoices_Pdf_Invoice), Array)
#7 /home/xxx/public_html/library/Waindigo/Invoices/Pdf/Invoice.php(12): Waindigo_Invoices_Pdf_Invoice->_drawItems()
#8 /home/xxx/public_html/library/Waindigo/Invoices/Model/Invoice.php(466): Waindigo_Invoices_Pdf_Invoice->draw(Array)
#9 /home/xxx/public_html/library/Waindigo/Invoices/ControllerAdmin/Invoice.php(191): Waindigo_Invoices_Model_Invoice->getInvoicePdf(Array)
#10 /home/xxx/public_html/library/XenForo/FrontController.php(347): Waindigo_Invoices_ControllerAdmin_Invoice->actionView()
#11 /home/xxx/public_html/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#12 /home/xxx/public_html/admin.php(13): XenForo_FrontController->run()
#13 {main}

Request State

array(3) {
  ["url"] => string(42) "http://xxx/admin.php?invoices/1/view"
  ["_GET"] => array(1) {
    ["invoices/1/view"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
}
 
Last edited:
Waindigo updated Invoices by Waindigo with a new update entry:

Version 1.0.1 released

Bug fixes:
  • Fixed bug that all page numbers link to Invoices Splash page on Invoices list.
  • Fixed bug that filter doesn't work on Invoices list.
  • Fixed bug that adding a recurring invoice redirects to adding an invoice, so unable to add recurring invoices.
  • Added phrase waindigo_requested_invoice_not_found_invoices, and removed incorrect phrase and_invoicing_requested_invoice_not_found.
  • Fixed character encoding in PDFs to avoid "Detected an illegal character in input...

Read the rest of this update entry...
 
Hi @Waindigo ,

The error started to appear again after upgrading:

ErrorException: iconv() [<a href='function.iconv'>function.iconv</a>]: Detected an illegal character in input string - library/Zend/Pdf/Resource/Font/Simple.php:267
Generated By: oman, 1 minute ago
Stack Trace
#0 [internal function]: XenForo_Application::handlePhpError(8, 'iconv() [<a hre...', '/home/technolo/...', 267, Array)
#1 /home/technolo/public_html/library/Zend/Pdf/Resource/Font/Simple.php(267): iconv('UTF-8', 'CP1252//IGNORE', '?20.00')
#2 /home/technolo/public_html/library/Waindigo/Pdf/Block/20130215.php(73): Zend_Pdf_Resource_Font_Simple->encodeString('?20.00', 'UTF-8')
#3 /home/technolo/public_html/library/Waindigo/Invoices/Pdf/Block/Invoice/Items.php(169): Waindigo_Pdf_Block::widthForStringUsingFontSize('?20.00', Object(Zend_Pdf_Resource_Font_Simple_Standard_Helvetica), 10)
#4 /home/technolo/public_html/library/Waindigo/Invoices/Pdf/Block/Invoice/Items.php(143): Waindigo_Invoices_Pdf_Block_Invoice_Items->_drawItemColumns(Object(Zend_Pdf_Page), Array, Object(Zend_Pdf_Resource_Font_Simple_Standard_Helvetica), 10, 40, 566.2)
#5 /home/technolo/public_html/library/Waindigo/Invoices/Pdf/Block/Invoice/Items.php(50): Waindigo_Invoices_Pdf_Block_Invoice_Items->_drawItem(Object(Waindigo_Invoices_Pdf_Invoice), Array, Array)
#6 /home/technolo/public_html/library/Waindigo/Invoices/Pdf/Invoice.php(25): Waindigo_Invoices_Pdf_Block_Invoice_Items->draw(Object(Waindigo_Invoices_Pdf_Invoice), Array)
#7 /home/technolo/public_html/library/Waindigo/Invoices/Pdf/Invoice.php(12): Waindigo_Invoices_Pdf_Invoice->_drawItems()
#8 /home/technolo/public_html/library/Waindigo/Invoices/Model/Invoice.php(493): Waindigo_Invoices_Pdf_Invoice->draw(Array)
#9 /home/technolo/public_html/library/Waindigo/Invoices/Extend/XenForo/ControllerPublic/Account.php(61): Waindigo_Invoices_Model_Invoice->getInvoicePdf(Array)
#10 /home/technolo/public_html/library/XenForo/FrontController.php(347): Waindigo_Invoices_Extend_XenForo_ControllerPublic_Account->actionInvoiceView()
#11 /home/technolo/public_html/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#12 /home/technolo/public_html/index.php(13): XenForo_FrontController->run()
#13 {main}
Request State
array(3) {
["url"] => string(62) ""
["_GET"] => array(1) {
["invoice_id"] => string(1) "1"
}
["_POST"] => array(0) {
}
}
 
It looks like it is having trouble with a currency symbol. Do you know which symbol it is?

Can you try deleting/commenting out the following line (line 73) in library/Waindigo/Pdf/Block/20130215.php:
PHP:
$string = $font->decodeString($font->encodeString($string, 'UTF-8'), 'UTF-8');
 
It looks like it is having trouble with a currency symbol. Do you know which symbol it is?

Can you try deleting/commenting out the following line (line 73) in library/Waindigo/Pdf/Block/20130215.php:
PHP:
$string = $font->decodeString($font->encodeString($string, 'UTF-8'), 'UTF-8');

Will do tomorrow. But I think it may be with a $ sign I put into the invoice.


So this will allow for the automated payment of the invoices?
 
Will do tomorrow. But I think it may be with a $ sign I put into the invoice.
Thanks. I can't replicate on my computer. If it doesn't work, would you be able to PM me with details of how to access your server so I can debug?

So this will allow for the automated payment of the invoices?
Correct. Just releasing the update to that add-on now.
 
Waindigo updated Invoices by Waindigo with a new update entry:

Version 1.0.3 released

New features:
  • Recurring invoices can now recur on a certain number of days/months/years (same as user upgrades), rather than only every 1 week/1 month/1 year.
Bug fixes:
  • Fixes issues with recurring invoices page on front end.
  • Turned off feature that recurring invoices may create a single invoice if multiple occur on same day, due to incompatibility with Infusionsoft API by Waindigo.
  • Various other bug fixes.

Read the rest of this update entry...
 
Run the cron for recurring & got this error:

The existing data required by the data writer could not be found.
 
Any chance paypal will be added as a payment option?

This would definitely something I'd hope is implemented. Especially without having third party system to facilitate the payment like infusionsoft. But yeah, PayPal would be great.
 
Top Bottom