Is there a way to invoice a group of customers with one invoice

Is there a way to invoice a group of customers with one invoice

Hi @francis1,
Not possible.

At a time you select only one customer in the invoice.

But having a scenario like if Customer A has 5 sales orders then you can make an invoice of 5 sales orders of Customer A at once.

ok thanks but it really doesn’t solve my solution because we will need to invoice 500 customers at once l think we will need to do some custom development

Just to clarify, I don’t think you don’t want to invoice 500 customers with 1 invoice. I think you want to generate 500 invoices from 1 invoice template. There’s some work on the git repo to manage document templates, but I don’t believe it’s near finished.

You could definitely do this with a script. We’ve made a custom doctype that allows quick generation of Student Fees from a template. It should be relatively straight forward to implement for Invoices using the python API.

1 Like

ok thats great , yeah we would like to invoice students but we don really need to use education app so we just wanted to use the accounting side , so how can you assist with that

customers = ['list', 'of', 'customers', 'generated', 'somehow']
for customer in customers:
    inv = frappe.get_doc({
        'doctype': "Sales Invoice",
        'customer': customer,
        'items': [
            { 'item_code': "Tuition Fees", 'qty': 1, 'rate': 100 }
        ],
        ... #other fields
    })
    inv.insert()

frappe.msgprint("Invoices created")

Completely untested, but that’d be the rough shape of it.

1 Like

ok thanks let me look into it