Skip to content

tax_automation

test edited this page Aug 14, 2024 · 14 revisions
  • Viewing tax records
  • Viewing tax revenue
  • Tax bracket accounts for growth circles
  • Including all or a portion of taxes in member deposits using internal tax rates
  • Default or per nation internal tax rates
  • Setting a nations tax bracket or internal tax rate
  • Adjusting or resetting deposits
  • Automated conditional assigning of member tax brackets and internal tax rates
  • Letting members change their bracket

Prerequisites

Register your alliance id and api key

📚 Your alliance id
/settings_default registeralliance

Your alliance id

Arguments:

<alliances> - Set
A comma separated list of alliances


📚 API key found at the bottom of: https://politicsandwar.com/account/...
/settings_default registerapikey

API key found at the bottom of: https://politicsandwar.com/account/
Be sure to enable all access you wish the bot to have, and have a sufficient position in-game (e.g. leader)
Needed for alliance functions and information access, such as calculating resource dispersal, sending mail
Api Key Example

Arguments:

<apiKeys> - List[TextArea]
Multiple words or text separated by spaces
Use quotes for multi-word arguments


Viewing tax records for a nation

📚 View a nation's taxability, in-game tax rate, and internal tax-rate
/tax info

View a nation's taxability, in-game tax rate, and internal tax-rate

Arguments:

<nation> - DBNation
nation id, name or url


📚 Get a sheet of a nation's in-game tax records and full resource amounts over a period
/tax records

Get a sheet of a nation's in-game tax records and full resource amounts over a period

Arguments:

<nation> - DBNation
nation id, name or url
[startDate] - Long[Timestamp]
A unix timestamp, a DMY date or a time difference that will resolve to a timestamp from the current date
[endDate] - Long[Timestamp]
[-s sheet] - SpreadSheet
A google spreadsheet id or url
For shorthand, use a comma when specifying the sheet tab e.g. sheet:ID,TAB_NAMEFor a url, append #gid=1234 or #tab=tabName to specify the id of the tab to use


📚 Get a sheet of a nation tax deposits over a period...
/tax deposits

Get a sheet of a nation tax deposits over a period
If a tax base is set for the nation or alliance then only the portion within member holdings are included by default

Arguments:

<nations> - Set
A comma separated list of nations, alliances and filters
[baseTaxRate] - TaxRate
Set to 0/0 to include all taxes
(A tax rate in the form of money/rss)
[startDate] - Long[Timestamp]
A unix timestamp, a DMY date or a time difference that will resolve to a timestamp from the current date
[endDate] - Long[Timestamp]
[-s sheet] - SpreadSheet
A google spreadsheet id or url
For shorthand, use a comma when specifying the sheet tab e.g. sheet:ID,TAB_NAMEFor a url, append #gid=1234 or #tab=tabName to specify the id of the tab to use


View tax brackets / revenue

📚 Generate a google sheet of tax revenue for a list of nations
/sheets_econ taxrevenue

Generate a google sheet of tax revenue for a list of nations

Arguments:

[nations] - Set
A comma separated list of nations, alliances and filters
[-s sheet] - SpreadSheet
A google spreadsheet id or url
For shorthand, use a comma when specifying the sheet tab e.g. sheet:ID,TAB_NAMEFor a url, append #gid=1234 or #tab=tabName to specify the id of the tab to use
[-f forceUpdate] - boolean
[-u includeUntaxable] - boolean
Include the potential revenue of untaxable nations
Assumes 100/100)


📚 Generate a sheet of member tax brackets and internal tax rates...
/sheets_econ taxbracketsheet

Generate a sheet of member tax brackets and internal tax rates
note: internal tax rate is the TAX_BASE and determines what % of their taxes is excluded from deposits

Arguments:

[-f force] - boolean
[-a includeApplicants] - boolean


Setting the tax bracket for a nation

📚 List or set your tax bracket....
/nation set taxbracket

List or set your tax bracket.
Notes:

  • Internal tax rate affects what portion of taxes are not included in /deposits check (typically used when 100/100 taxes)
  • Set the alliance internal tax rate with: /settings key:TAX_BASE (retroactive)
  • This command is not retroactive and overrides the alliance internal taxrate

Arguments:

<nations> - Set
A comma separated list of nations, alliances and filters
[bracket] - TaxBracket
A tax id or url
[internalTaxRate] - TaxRate
A tax rate in the form of money/rss


Tax bracket accounts

By default, all taxes collected go into the tax bracket account

This can be useful to tracking how much members pay into a growth circle

Checking bracket balance

Obtain the id of the tax bracket from the alliance's tax page

/deposits check nationorallianceorguild: tax_id=1234 showcategories: true

Withdrawing from the tax bracket account

Use e.g. taxAccount: tax_id=1234 argument in any transfer slash command e.g.

/transfer resources receiver: Borg transfer: food=100 taxaccount: tax_id=1234

Or use e.g. existingTaxAccount: True argument to withdraw from the bracket the receiver is currently on

/transfer resources receiver: Alex transfer: {coal=100,money=10} existingtaxaccount: True force: true

For the legacy transfer commands ! add e.g. tax_id:1234 for a specific tax account, or add -t for the receiver's tax account

Adjusting the balance of a tax bracket account

Use the deposits add command, use a negative amount to subtract

/deposits add accounts: tax_id=1234 amount: money=100 note: #tax

Internal tax rates

  • Internal tax rates are used to calculate the amount of taxes to exclude from member balances

  • By default, all taxes are excluded in member balances (internal tax rate of 100/100)

  • Internal tax rates are absolute threshold. That means only in-game tax rates above the internal rate will go into member balances

  • For example, an internal rate of 25/25, and an in-game tax rate of 25/25 will have ZERO taxes included in member balances

  • An internal tax rate of 0/0 will include all taxes in member balances

Setting a default internal tax rate

This setting is retroactive, and will affect all previous tax records that lack an internal tax rate

You can make a copy of member deposits beforehand, and correct any member deposits that were affected by the change. See: Locutus/Wiki/deposits

📚 The internal tax amount ($/rss) in the format e.g. 25/25 to be excluded in deposits....
/settings_tax tax_base

The internal tax amount ($/rss) in the format e.g. 25/25 to be excluded in deposits.
Defaults to 100/100 (i.e. no taxes are included in depos).
Setting is retroactive. See also: </nation set taxinternal:1015168434776051733>

Arguments:

<taxRate> - TaxRate
A tax rate in the form of money/rss


Per nation internal tax rate

The internal tax rate can be viewed in the tax bracket sheet (see above)

📚 Set nation's internal taxrate...
/nation set taxinternal

Set nation's internal taxrate
See also: /nation set taxbracket and /settings key:TAX_BASE

Arguments:

<nations> - Set
A comma separated list of nations, alliances and filters
<taxRate> - TaxRate
A tax rate in the form of money/rss


Adjusting taxes in deposits

Use the deposits add command, use a negative amount to subtract

/deposits add accounts: https://politicsandwar.com/nation/id=189573 amount: $12.5m note: #tax

Resetting taxes in deposits

/deposits reset nations: Borg ignoregrants: true ignoreloans: true ignoretaxes: false ignorebankdeposits: true ignoreescrow: true

Automated conditional tax brackets

📚 This setting maps nation filters to tax bracket for bulk automation....
/settings_tax required_tax_bracket

This setting maps nation filters to tax bracket for bulk automation.
To list nations current rates: </tax listbracketauto:1015168434906071119>
To bulk move nations: </nation set taxbracketauto:1015168434776051733>
In the form:

#cities<10:1234
#cities>=10:2345

All nation filters are supported (e.g. roles)
Priority is first to last (so put defaults at the bottom)

Arguments:

<brackets> - Map<NationFilter, Integer>
A map of nation filters to tax ids
All nation filters are supported (e.g. roles)
Priority is first to last (so put defaults at the bottom)


📚 List the assigned taxrate if REQUIRED_TAX_BRACKET or REQUIRED_INTERNAL_TAXRATE are set...
/tax listbracketauto

List the assigned taxrate if REQUIRED_TAX_BRACKET or REQUIRED_INTERNAL_TAXRATE are set
Note: this command does set nations brackets. See: /tax setNationBracketAuto and /nation set taxinternalAuto

Arguments:

[-s sheet] - SpreadSheet
A google spreadsheet id or url
For shorthand, use a comma when specifying the sheet tab e.g. sheet:ID,TAB_NAMEFor a url, append #gid=1234 or #tab=tabName to specify the id of the tab to use


📚 Bulk set nation tax brackets as configured in the guild setting: REQUIRED_TAX_BRACKET
/tax setnationbracketauto

Bulk set nation tax brackets as configured in the guild setting: REQUIRED_TAX_BRACKET

Arguments:

[nations] - Set
The nations to set tax brackets for
If not specified, all nations in the alliance will be used
(A comma separated list of nations, alliances and filters)
[-p ping] - boolean
Ping users if their brackets are modified


Automated conditional internal rates

📚 This setting maps nation filters to internal tax rate for bulk automation....
/settings_tax required_internal_taxrate

This setting maps nation filters to internal tax rate for bulk automation.
To list nations current rates: </tax listbracketauto:1015168434906071119>
To bulk move nations: </nation set taxinternalauto:1015168434776051733>
Tax rate is in the form: money/rss
In the form:

#cities<10:100/100
#cities>=10:25/25

All nation filters are supported (e.g. roles)
Priority is first to last (so put defaults at the bottom)

Arguments:

<value> - Map<NationFilter, TaxRate>
A map of nation filters to tax rates
All nation filters are supported (e.g. roles)
Priority is first to last (so put defaults at the bottom)


📚 List the assigned taxrate if REQUIRED_TAX_BRACKET or REQUIRED_INTERNAL_TAXRATE are set...
/tax listbracketauto

List the assigned taxrate if REQUIRED_TAX_BRACKET or REQUIRED_INTERNAL_TAXRATE are set
Note: this command does set nations brackets. See: /tax setNationBracketAuto and /nation set taxinternalAuto

Arguments:

[-s sheet] - SpreadSheet
A google spreadsheet id or url
For shorthand, use a comma when specifying the sheet tab e.g. sheet:ID,TAB_NAMEFor a url, append #gid=1234 or #tab=tabName to specify the id of the tab to use


📚 Bulk set nation internal taxrates as configured in the guild setting: REQUIRED_INTERNAL_TAXRATE
/nation set taxinternalauto

Bulk set nation internal taxrates as configured in the guild setting: REQUIRED_INTERNAL_TAXRATE

Arguments:

[nations] - Set
The nations to set internal taxrates for
If not specified, all nations in the alliance will be used
(A comma separated list of nations, alliances and filters)
[-p ping] - boolean
Ping users if their rates are modified


Set tax bracket or internal rate from a sheet

📚 Set a nation's tax bracket from a sheet...
/tax set_from_sheet

Set a nation's tax bracket from a sheet
Expects columns, nation (or leader or user) and bracket or internal (for internal taxrates)

Arguments:

<sheet> - SpreadSheet
A google spreadsheet id or url
For shorthand, use a comma when specifying the sheet tab e.g. sheet:ID,TAB_NAMEFor a url, append #gid=1234 or #tab=tabName to specify the id of the tab to use
[-f force] - boolean


Letting members change their tax bracket

📚 Whether members can use /nation set taxbracket
/settings_tax member_can_set_bracket

Whether members can use </nation set taxbracket:1015168434776051733>

Arguments:

<value> - boolean


Clone this wiki locally