Hey guys,
today I want to present my billing system which provides some special features, which are extremely useful - especially for roleplay servers.
Features:
- When you issue an invoice the other player have to accept the invoice. This also avoids that players receive invoices just “for fun”.
- When a player doesn’t pay his bills, they are automatically and partly paid every night. There is also a menu included, so the player can view his partly paid invoices. Also he can pay the remaining amount through this menu
- Every player have the opportunity to issue an invoice (can be disabled in the Config)
- No need to change your scripts: I’ve left the sendBill event completely like it was in ESX, so you just have to turn off esx_bills to make this work.
- As always full translation and config file.
Showcase Video:
Main menu:
Confirmation menu:
Part payment menu:
You can set up a time, when the bills should be partly paid. For testing you can also use the command /paytaxbills in the server console.
Discord Notifications:
You can set up notifications for societies in the Config.lua. When you use this, there will be notifications when a player issues a society invoice:
Of course you can set up this for all societies (companies), which for example want to broadcast this on their discord.
Configuration is super easy:
1.) Create new Discord webhook
2.) Set up your webhook in the Config.lua
Config.useDiscordWebhooks = true
Config.Webhooks = {
['society_police'] = GetConvar("webhook_police_invoice", "Failed to load webhook error!"),
['society_example'] = GetConvar("webhook_example", "Failed to load webhook error!"),
}
To add Convars, you can just add
set webhook_example "https://discordapp.com/api/webhooks/........" <- your webhook link
to your server.cfg.
3.) Finished, when an employee of society_example issues an invoice (also with his job menu) there will be a Discord notify.
Language config:
German and English are already set up.
Translations
Translation = {
['de'] = {
['bills'] = 'Rechnungen',
['give_bill'] = 'Rechnung ausstellen',
['give_bill_desc'] = 'Stelle eine Rechnung aus',
['reason'] = 'Grund:',
['insert_reason'] = 'Gebe einen Grund ein',
['amount'] = 'Betrag:',
['insert_amount'] = 'Betrag eingeben',
['submit_bill'] = '~g~Rechnung ausstellen',
['taxbills'] = 'Rechnungen in Teilzahlung',
['taxbills_desc'] = '~r~Offener Betrag ~s~/ ~o~Gesamt',
['private'] = 'Privat',
['dialog_title'] = 'Rechnung erhalten',
['dialog_accept'] = '~g~Rechnung annehmen',
['dialog_reject'] = '~r~Rechnung ablehnen',
['bill_paid'] = '~g~Die Rechnung i.H.v. ~w~',
['bill_paid2'] = '$ ~g~wurde bezahlt.',
['society_bill_paid'] = '~g~Eine von dir ausgestellte Rechnung i.H.v. ~w~',
['society_bill_paid2'] = '$ ~g~wurde bezahlt.',
['not_enough_money'] = '~r~Du hast nicht genügend Geld!',
['bill_given'] = '~g~Anfrage für die Rechnung weitergegeben.',
['bill_accepted'] = '~g~Deine Rechnung wurde akzeptiert.',
['target_bill_accepted'] = '~g~Du hast die Rechnung akzeptiert.',
['bill_rejected'] = '~r~Deine Rechnung wurde abgelehnt.',
['target_bill_rejected'] = '~r~Du hast die Rechnung abgelehnt.',
['discord_new_invoice'] = 'Neue Rechnung',
['discord_msg'] = ' hat ',
['discord_msg2'] = ' eine Rechnung i.H.v. ',
['discord_msg3'] = '$ für ',
['discord_msg4'] = ' ausgestellt.',
['paid_taxbill'] = 'Ein Teil deiner Rechnungen wurde ~g~bezahlt~s~ : ~g~$',
},
['en'] = {
['bills'] = 'Bills',
['give_bill'] = 'Issue an invoice',
['give_bill_desc'] = 'Issue an invoice to somebody',
['reason'] = 'Reason:',
['insert_reason'] = 'Enter a reason',
['amount'] = 'Amount:',
['insert_amount'] = 'Enter an amount',
['submit_bill'] = '~g~Confirm',
['taxbills'] = 'Part payment invoices',
['taxbills_desc'] = '~r~Remaining amount ~s~/ ~o~Total',
['private'] = 'Privat',
['dialog_title'] = 'Received invoice',
['dialog_accept'] = '~g~Accept',
['dialog_reject'] = '~r~Reject',
['bill_paid'] = '~g~The bill of ~w~',
['bill_paid2'] = '$ ~g~was paid.',
['society_bill_paid'] = '~g~One of your bills of ~w~',
['society_bill_paid2'] = '$ ~g~was paid.',
['not_enough_money'] = '~r~You do not have enough money!',
['bill_given'] = '~g~Request sent for the invoice.',
['bill_accepted'] = '~g~Your bill was accepted.',
['target_bill_accepted'] = '~g~You have accepted the bill.',
['bill_rejected'] = '~r~Your bill was rejected.',
['target_bill_rejected'] = '~r~You have rejected the bill.',
['discord_new_invoice'] = 'New invoice',
['discord_msg'] = ' has given ',
['discord_msg2'] = ' a bill with an amount of ',
['discord_msg3'] = '$ for ',
['discord_msg4'] = '.',
['paid_taxbill'] = 'A part of your remaining invoices was ~g~paid~s~ : ~g~$',
}
}
Dependencies:
- ESX
- NativeUI
- cron
Price: 3,90€ / 4,80$ (tax included)
Download at https://luis-scripts.tebex.io/package/4238312
There is an optional EnhancedUI avalable for myBilling: You can get further information here: EnhancedUI for myBilling
Important note: If you’re currently using esx_billing, you can change without any effort to this script:
You only have to import the new .sql file for the partial payment. All open invoices and events are still working.