> For the complete documentation index, see [llms.txt](https://nayzeee-dev.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nayzeee-dev.gitbook.io/docs/nayzeee-scripts/nayzeee-billing/configuration.md).

# Configuration

<details>

<summary>View Full Config</summary>

```lua
--[[
    ███╗   ██╗ █████╗ ██╗   ██╗███████╗███████╗███████╗███████╗
    ████╗  ██║██╔══██╗╚██╗ ██╔╝╚══███╔╝██╔════╝██╔════╝██╔════╝
    ██╔██╗ ██║███████║ ╚████╔╝   ███╔╝ █████╗  █████╗  █████╗  
    ██║╚██╗██║██╔══██║  ╚██╔╝   ███╔╝  ██╔══╝  ██╔══╝  ██╔══╝  
    ██║ ╚████║██║  ██║   ██║   ███████╗███████╗███████╗███████╗
    ╚═╝  ╚═══╝╚═╝  ╚═╝   ╚═╝   ╚══════╝╚══════╝╚══════╝╚══════╝
                                                                
    ██████╗ ███████╗██╗   ██╗███████╗██╗      ██████╗ ██████╗ ███╗   ███╗███████╗███╗   ██╗████████╗
    ██╔══██╗██╔════╝██║   ██║██╔════╝██║     ██╔═══██╗██╔══██╗████╗ ████║██╔════╝████╗  ██║╚══██╔══╝
    ██║  ██║█████╗  ██║   ██║█████╗  ██║     ██║   ██║██████╔╝██╔████╔██║█████╗  ██╔██╗ ██║   ██║   
    ██║  ██║██╔══╝  ╚██╗ ██╔╝██╔══╝  ██║     ██║   ██║██╔═══╝ ██║╚██╔╝██║██╔══╝  ██║╚██╗██║   ██║   
    ██████╔╝███████╗ ╚████╔╝ ███████╗███████╗╚██████╔╝██║     ██║ ╚═╝ ██║███████╗██║ ╚████║   ██║   
    ╚═════╝ ╚══════╝  ╚═══╝  ╚══════╝╚══════╝ ╚═════╝ ╚═╝     ╚═╝     ╚═╝╚══════╝╚═╝  ╚═══╝   ╚═╝   
                                                                                                      
    NAYZEEE BILLING - 1.0.0
    Discord: discord.gg/nayzeeedev
]]

Config = {}

-- ███████╗██████╗  █████╗ ███╗   ███╗███████╗██╗    ██╗ ██████╗ ██████╗ ██╗  ██╗
-- ██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝██║    ██║██╔═══██╗██╔══██╗██║ ██╔╝
-- █████╗  ██████╔╝███████║██╔████╔██║█████╗  ██║ █╗ ██║██║   ██║██████╔╝█████╔╝ 
-- ██╔══╝  ██╔══██╗██╔══██║██║╚██╔╝██║██╔══╝  ██║███╗██║██║   ██║██╔══██╗██╔═██╗ 
-- ██║     ██║  ██║██║  ██║██║ ╚═╝ ██║███████╗╚███╔███╔╝╚██████╔╝██║  ██║██║  ██╗
-- ╚═╝     ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝ ╚══╝╚══╝  ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝

Config.Framework = 'auto' -- 'auto' / 'esx' / 'qbcore' / 'qbox'
Config.Debug = false

--  ██████╗ ███████╗███╗   ██╗███████╗██████╗  █████╗ ██╗     
-- ██╔════╝ ██╔════╝████╗  ██║██╔════╝██╔══██╗██╔══██╗██║     
-- ██║  ███╗█████╗  ██╔██╗ ██║█████╗  ██████╔╝███████║██║     
-- ██║   ██║██╔══╝  ██║╚██╗██║██╔══╝  ██╔══██╗██╔══██║██║     
-- ╚██████╔╝███████╗██║ ╚████║███████╗██║  ██║██║  ██║███████╗
--  ╚═════╝ ╚══════╝╚═╝  ╚═══╝╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝

Config.Command = 'billing'
Config.AdminCommand = 'billingadmin'
Config.OpenKey = 'F6'

Config.DefaultTaxRate = 0.08 -- 8%
Config.InvoiceExpiry = 7 -- Days until invoice expires
Config.MaxInvoiceAmount = 1000000

Config.AllowCivilianBilling = false
Config.AllowAllJobs = true

-- ██████╗  █████╗ ██╗   ██╗███╗   ███╗███████╗███╗   ██╗████████╗
-- ██╔══██╗██╔══██╗╚██╗ ██╔╝████╗ ████║██╔════╝████╗  ██║╚══██╔══╝
-- ██████╔╝███████║ ╚████╔╝ ██╔████╔██║█████╗  ██╔██╗ ██║   ██║   
-- ██╔═══╝ ██╔══██║  ╚██╔╝  ██║╚██╔╝██║██╔══╝  ██║╚██╗██║   ██║   
-- ██║     ██║  ██║   ██║   ██║ ╚═╝ ██║███████╗██║ ╚████║   ██║   
-- ╚═╝     ╚═╝  ╚═╝   ╚═╝   ╚═╝     ╚═╝╚══════╝╚═╝  ╚═══╝   ╚═╝   

Config.Payment = {
    -- Where does business/job invoice money go?
    -- 'society' = Goes to job society account
    -- 'player' = Goes directly to the employee who created the invoice
    BusinessPaymentDestination = 'society',
    
    -- Personal invoice payment handling (when no job/company)
    PersonalInvoice = {
        CashRequiresCollection = true,
        CardGoesToBank = true,
    },
    
    -- Bank teller locations for collecting cash payments
    BankTellers = {
        { coords = vector3(149.56, -1042.09, 29.37), heading = 337.0 },
        { coords = vector3(-1212.98, -330.77, 37.79), heading = 27.0 },
        { coords = vector3(-2962.58, 482.63, 15.7), heading = 87.0 },
        { coords = vector3(313.82, -278.96, 54.16), heading = 339.0 },
        { coords = vector3(-351.23, -49.58, 49.04), heading = 341.0 },
        { coords = vector3(1175.07, 2706.41, 38.09), heading = 178.0 },
    },
    
    -- Employee commission for cash register sales
    EmployeeCommission = {
        Enabled = true,
        Percentage = 0.10, -- 10% commission to employee
    },
}

-- ██╗ ██████╗ ██████╗      █████╗  ██████╗ ██████╗███████╗███████╗███████╗
-- ██║██╔═══██╗██╔══██╗    ██╔══██╗██╔════╝██╔════╝██╔════╝██╔════╝██╔════╝
-- ██║██║   ██║██████╔╝    ███████║██║     ██║     █████╗  ███████╗███████╗
-- ██║██║   ██║██╔══██╗    ██╔══██║██║     ██║     ██╔══╝  ╚════██║╚════██║
-- ██║╚██████╔╝██████╔╝    ██║  ██║╚██████╗╚██████╗███████╗███████║███████║
-- ╚═╝ ╚═════╝ ╚═════╝     ╚═╝  ╚═╝ ╚═════╝ ╚═════╝╚══════╝╚══════╝╚══════╝

-- Jobs that can create invoices (grade 0 = all grades)
Config.JobAccess = {
    ['police'] = 0,
    ['ambulance'] = 0,
    ['mechanic'] = 0,
    ['taxi'] = 0,
    ['burgershot'] = 0,
    ['banker'] = 0,
}

--  █████╗ ██████╗ ███╗   ███╗██╗███╗   ██╗
-- ██╔══██╗██╔══██╗████╗ ████║██║████╗  ██║
-- ███████║██║  ██║██╔████╔██║██║██╔██╗ ██║
-- ██╔══██║██║  ██║██║╚██╔╝██║██║██║╚██╗██║
-- ██║  ██║██████╔╝██║ ╚═╝ ██║██║██║ ╚████║
-- ╚═╝  ╚═╝╚═════╝ ╚═╝     ╚═╝╚═╝╚═╝  ╚═══╝

Config.AdminGroups = {
    'god',
    'admin',
    'mod',
    'superadmin',
    'dev',
    'developer',
    'owner',
}

-- ██████╗ ███████╗ ██████╗██████╗███████╗██╗██████╗ ████████╗███████╗
-- ██╔══██╗██╔════╝██╔════╝██╔════╝██╔════╝██║██╔══██╗╚══██╔══╝██╔════╝
-- ██████╔╝█████╗  ██║     █████╗  ██║█████╗██║██████╔╝   ██║   ███████╗
-- ██╔══██╗██╔══╝  ██║     ██╔══╝  ██║╚════╝██║██╔═══╝    ██║   ╚════██║
-- ██║  ██║███████╗╚██████╗███████╗╚██████╗██║██║        ██║   ███████║
-- ╚═╝  ╚═╝╚══════╝ ╚═════╝╚══════╝ ╚═════╝╚═╝╚═╝        ╚═╝   ╚══════╝

Config.Receipts = {
    ShowOnPayment = true,
    ShowBarcode = true,
    FooterText = 'Thank you for your business!',
    GiveReceiptItem = true,
    ReceiptItemName = 'receipt',
}

-- ██████╗ █████╗ ███████╗██╗  ██╗    ██████╗ ███████╗ ██████╗ ██╗███████╗████████╗███████╗██████╗ 
-- ██╔════╝██╔══██╗██╔════╝██║  ██║    ██╔══██╗██╔════╝██╔════╝ ██║██╔════╝╚══██╔══╝██╔════╝██╔══██╗
-- ██║     ███████║███████╗███████║    ██████╔╝█████╗  ██║  ███╗██║███████╗   ██║   █████╗  ██████╔╝
-- ██║     ██╔══██║╚════██║██╔══██║    ██╔══██╗██╔══╝  ██║   ██║██║╚════██║   ██║   ██╔══╝  ██╔══██╗
-- ╚██████╗██║  ██║███████║██║  ██║    ██║  ██║███████╗╚██████╔╝██║███████║   ██║   ███████╗██║  ██║
--  ╚═════╝╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝    ╚═╝  ╚═╝╚══════╝ ╚═════╝ ╚═╝╚══════╝   ╚═╝   ╚══════╝╚═╝  ╚═╝

Config.CashRegister = {
    Enabled = true,
    
    -- Interaction Method: 'target' or 'textui'
    InteractionMethod = 'target',
    
    -- TextUI Settings (when InteractionMethod = 'textui')
    TextUI = {
        EmployeeText = '[E] Use Register',
        CustomerText = '[E] View Order',
        Key = 38, -- E key
    },
    
    -- Target Settings (when InteractionMethod = 'target')
    Target = {
        EmployeeIcon = 'fa-solid fa-receipt',
        EmployeeLabel = 'Use Register',
        CustomerIcon = 'fa-solid fa-credit-card',
        CustomerLabel = 'View Order',
    },
    
    Blip = {
        Enabled = false,
        Sprite = 52,
        Color = 2,
        Scale = 0.6,
    },
    
    -- Debug mode for zones
    Debug = false,
}

-- ██████╗ ███████╗ ██████╗ ██╗███████╗████████╗███████╗██████╗ ███████╗
-- ██╔══██╗██╔════╝██╔════╝ ██║██╔════╝╚══██╔══╝██╔════╝██╔══██╗██╔════╝
-- ██████╔╝█████╗  ██║  ███╗██║███████╗   ██║   █████╗  ██████╔╝███████╗
-- ██╔══██╗██╔══╝  ██║   ██║██║╚════██║   ██║   ██╔══╝  ██╔══██╗╚════██║
-- ██║  ██║███████╗╚██████╔╝██║███████║   ██║   ███████╗██║  ██║███████║
-- ╚═╝  ╚═╝╚══════╝ ╚═════╝ ╚═╝╚══════╝   ╚═╝   ╚══════╝╚═╝  ╚═╝╚══════╝

-- Cash registers - defined by coords (no in-game placement needed)
Config.CashRegisters = {
    -- Example: Burgershot Counter
    {
        id = 'burgershot_counter1',
        label = 'Burgershot Counter',
        company = 'burgershot',      -- Must match company ID in companies.lua
        coords = vector3(197.4236, -850.7531, 30.9602),
        radius = 2.0,                -- Interaction radius
    },
    -- Add more registers:
    -- {
    --     id = 'mechanic_desk',
    --     label = 'Mechanic Service Desk',
    --     company = 'mechanic',
    --     coords = vector3(123.45, -678.90, 12.34),
    --     radius = 1.5,
    -- },
}

-- ███╗   ██╗ ██████╗ ████████╗██╗███████╗██╗   ██╗
-- ████╗  ██║██╔═══██╗╚══██╔══╝██║██╔════╝╚██╗ ██╔╝
-- ██╔██╗ ██║██║   ██║   ██║   ██║█████╗   ╚████╔╝ 
-- ██║╚██╗██║██║   ██║   ██║   ██║██╔══╝    ╚██╔╝  
-- ██║ ╚████║╚██████╔╝   ██║   ██║██║        ██║   
-- ╚═╝  ╚═══╝ ╚═════╝    ╚═╝   ╚═╝╚═╝        ╚═╝   

Config.Notifications = {
    -- Notification System: 'ox_lib' (recommended)
    System = 'ox_lib',
}

-- ██╗    ██╗███████╗██████╗ ██╗  ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗
-- ██║    ██║██╔════╝██╔══██╗██║  ██║██╔═══██╗██╔═══██╗██║ ██╔╝██╔════╝
-- ██║ █╗ ██║█████╗  ██████╔╝███████║██║   ██║██║   ██║█████╔╝ ███████╗
-- ██║███╗██║██╔══╝  ██╔══██╗██╔══██║██║   ██║██║   ██║██╔═██╗ ╚════██║
-- ╚███╔███╔╝███████╗██████╔╝██║  ██║╚██████╔╝╚██████╔╝██║  ██╗███████║
--  ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═╝  ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝

Config.Logging = {
    Enabled = true,
    DiscordWebhook = '', -- Set webhook URL to enable Discord logging
    DiscordTitle = 'NAYZEEE Billing',
    DiscordColor = 5308359,
}

--  ██████╗ █████╗ ████████╗███████╗ ██████╗  ██████╗ ██████╗ ██╗███████╗███████╗
-- ██╔════╝██╔══██╗╚══██╔══╝██╔════╝██╔════╝ ██╔═══██╗██╔══██╗██║██╔════╝██╔════╝
-- ██║     ███████║   ██║   █████╗  ██║  ███╗██║   ██║██████╔╝██║█████╗  ███████╗
-- ██║     ██╔══██║   ██║   ██╔══╝  ██║   ██║██║   ██║██╔══██╗██║██╔══╝  ╚════██║
-- ╚██████╗██║  ██║   ██║   ███████╗╚██████╔╝╚██████╔╝██║  ██║██║███████╗███████║
--  ╚═════╝╚═╝  ╚═╝   ╚═╝   ╚══════╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚═╝╚══════╝╚══════╝

Config.DefaultCategories = {
    { id = 'food', label = 'Food', icon = 'fa-utensils' },
    { id = 'drinks', label = 'Drinks', icon = 'fa-glass-water' },
    { id = 'services', label = 'Services', icon = 'fa-wrench' },
    { id = 'other', label = 'Other', icon = 'fa-box' },
}

```

</details>
