PaySwap
English
English
  • PaySwap Intro
    • Get Started
      • Create a Wallet
      • Get Tokens
      • Using PaySwap without Centralized Exchanges
      • Connect Your Wallet to PaySwap
      • Sell/Buy Native Tokens
    • Click Here for Help
      • Troubleshooting Errors
      • What is an Approval Transaction?
      • Fixing Stuck Pending Transactions on MetaMask
  • 🐲Leviathans
    • 👚Apparel, Beauty & Cosmetics Leviathan
    • 🚰Beverage Leviathan
    • 🎥Culture & Entertainment Leviathan
    • 🔌Energy Leviathan
    • 🥕Food Leviathan
    • 😷Healthcare Leviathan
    • 🪖Law & Order Leviathan
    • 🪓Mining Leviathan
    • 😈NSFW Leviathan
    • 🏠Real Estate Leviathan
    • 💻Software, Telco & Other Leviathan
    • 🚌Transportation Leviathan
    • 🏦The Money Bank
    • NWO
  • Products
    • 🌉ARPs
      • Manual ARPs
        • Setting Up Your Company's Payroll
        • Setting Up A Tontine
        • Selling Shares In An Asset
      • Percentage Based ARPs
        • Roommates Paying Bills Together
      • Automatic ARPs
      • Minting & Claiming Notes
    • 🟪Auditors
      • Natural Resource Audits
      • SSID Audits
      • Tokenizing Real Estate
      • Tokenizing Personal Posessions
      • Nature Tokens
      • Bounty Hunters
    • 🔮Betting Contracts
      • Bets without alphabet-encoding
      • Bets with alphabet-encoding
      • Partner Betting Events
    • 💧Bills
      • Taxes
      • Bookkeeping
      • Bank Accounts
      • Selling Shares In An Asset
    • 🖼️CanCan
      • Products/Services
        • Listing Products/Services
        • Buying Products/Services
          • Buying With Your Wallet
          • Buying Through The Stake Market
          • Selling Through The Stake Market
          • Buying Through Valuepools/DAOs
      • Articles
        • Listing Articles
        • Tipping Writers
      • Paywalls
        • Listing Paywalls
        • Adding Items To Paywalls
        • Removing Items From Paywalls
        • Partnering With Paywalls
        • Buying Paywall Subscriptions
        • Activating Paywall Subscriptions
      • NFTickets
      • Discounts & Cashbacks
        • Discounts
        • Cashbacks
        • Manual Rewards
      • List Partner Valuepools
      • Announcements
      • Reviews
      • Dynamic Pricing
      • Partnerships
      • Memberships
      • Identity Requirements
      • Sponsorships
      • Auctions & Bids
      • Drops
      • Votes
    • 🧑‍⚖️dRamps
      • Adding A Token Market
      • Deploying & Adding An Extra Token
      • Activating A Token Market
      • Update Prices On A Token Market
      • Automatic Ramps
        • Minting tFIAT Tokens
        • Burning tFIAT Tokens
      • Manual Ramps
        • Minting tFIAT Tokens
        • Burning tFIAT Tokens
      • Sponsor Ramp
      • Sell/Buy Native Tokens
      • Ramps Valuepool
      • Partnerships
      • Bootstrapping
      • Selling Token Markets
      • Use Cases
        • Paying For Tuition
        • Paying For Products/Services
        • Remittances
        • Forex
        • Blockchain Bridge
        • Store of Value
    • 🖼️eCollectibles
      • The Default Minter
      • Custom Minters
      • Listing Pre-Minted NFTs
    • 🔄Exchange
      • Token Swaps
      • How to Trade
      • Fees and Routes
      • Liquidity Pools
      • How to Add/Remove Liquidity
      • FAQ
    • 🧈Future Collaterals
    • 🎮Games
      • Game Objects
      • Game Scholarships
    • 🎟️Lottery
      • How to Play Lottery
      • Lottery FAQ
      • Marketplace Lottery
      • FT Lottery
      • NFT Lottery
    • 💳PayCards
      • MarketPlace Purchases
    • 🐞Profile
      • Building Your Social Graph
      • Transferring Money
      • Credit Reports
      • Security & Others
    • 💹Revenue Sharing
      • Accelerator
      • Businesses
      • Contributors
      • Referrals
    • 🍯Sponsors
    • 🍏SSI
      • Creating Data
      • Creating An SSID
      • Creating A Unique Profile
    • 📈StakeMarket
      • Buying A Listed Product
      • Call For Tenders
      • Collateralized Loans
      • Stake Applications
      • Litigations
    • 🖥️TrustBounties
      • FT Bounties
      • NFT Bounties
      • Approvals
    • 🌐ValuePools/DAOs
      • Minting An NFT Token
      • Sponsoring A Valuepool
      • Shopping With A Valuepool
      • Lending & Investing With A Valuepool
      • Creating A Proposal
    • 👾Wills
      • Setting Up Your Will
      • Using Wills For Storage
    • 🛍️Worlds
      • Red Pill Worlds
      • Blue Pill Worlds
      • Green Worlds
  • Use Cases
    • CanCan
      • Item MarketPlace: Amazon
      • Item MarketPlace: Rentals
      • Talent MarketPlace
      • AirBnB
      • Ride Hailing
      • Delivery App
      • Rent The Runway
      • Subscription App
      • Dating App
      • Friend.tech
      • TeleHealth
      • Product Remixes
    • Valuepools
      • BNPL App
      • Group Investment App
      • Insurance App
      • Marketing App
      • Savings App
    • ARPs
      • Budgetting
      • Group Vacation Planning
      • Proxy Investment
      • Spend Management
      • Loan Management
      • Rent Management
      • Tipping
      • Play & Earn Loan Management
    • Bills
      • Flexible Loan Management
      • Bill Payment
      • Taxes
      • Proxy Investment
    • Auditors
      • Address Verification
      • Identity Verification
      • Luxury Item Authentication
      • Awards & Trophees
      • Credit Wothiness
    • Games
      • Play To Earn For Your Game
      • Play To Earn For Tripe A Game
      • Betting
    • Betting
      • Stock Market
      • Sports
      • General
      • Companies
      • Swaps
    • Lottery
      • Data Collection
      • Sale Incentive
    • SSI
      • Supply Chain
      • Medical Records
      • Zero Knowledge Proofs
      • Background Checks
      • Single Sign-On
    • StakeMarket
      • Pre Sales
      • Construction Contract
      • Collateralized Employment Contract
    • TrustBounty
      • Volatility Hedge
  • Governance & Tokenomics
  • Culture & Vision
  • RoadMap
  • Developers
    • Smart Contracts (EVM)
      • PaySwap Exchange
        • v3 contracts
          • PancakeV3Factory
          • SmartRouterV3
            • V3SwapRouter
            • V2SwapRouter
            • StableSwapRouter
          • NonfungiblePositionManager
          • PancakeV3Pool
      • MasterChef
        • MasterChef V3
      • dRamps
        • dRamp Contract
      • Lottery
        • Lottery Contract
  • Team
  • Contact Us
    • Customer Support
    • Social Accounts & Communities
Powered by GitBook
On this page
  • Setting Up You Bill's Factors
  • Creating User A's Account
  • Notifying Account Credits
  • Notifying Account Debits

Was this helpful?

  1. Products
  2. Bills

Taxes

PreviousBillsNextBookkeeping

Last updated 1 year ago

Was this helpful?

Bill contracts can be used to do people's taxes. Suppose we want to process taxes for user A who is a merchant on CanCan.

Let's setup our Bill contract to process taxes for User A at the end of each month.

  • The first step is to deploy a Bill contract (with the Is Payable parameter set to No since we are not going to be paying the user) like we did on this page

  • Bill contracts enable you to account for all credits/debits to an account.

  • You can also add a credit factor that multiplies all the credits and a debit factor that multiplies all the debits in an equation that gives an end value which in our case will be the monthly tax.

  • All taxes can be written in this format: debit_factor * debit - credit_factor * credit = tax

Setting Up You Bill's Factors

  • To setup the credit and debit factors of your bill, go your Bill contract and click on the Details button to reveal its panel.

  • Click on the Control Panel button to reveal its menu and select the Update Migration Point option

  • We are setting our factors to be 100% so our monthly taxes due on an account could just be computed as all credits - all debits.

  • We will just need to update each account on all credits/debits to an account each month. That way the account owner will know at the end of each month, how much taxes he/she needs to pay.

  • The next step will be for account owners to pay their taxes through the Bill contract and for the Bill admin to withdraw the paid taxes and send the funds to the IRS or whichever branch of the government is in charge of taxes in your country.

Creating User A's Account

  • The next step is to create your user's accounts. Let's create User A's account then Click on the Details button of your Bill contract to reveal the panel

  • Since User A is paid in USD, let's select the USD tFIAT token. Click on the Select a currency button to reveal the token wizard like in the image below. Click on the Manage Tokens button to reveal the form on the right, activate the PaySwap Onramp tokens then go back to the previous form

  • Search for and select the USD tFIAT token

  • You should now have the USD selected in the drop down field on top of your Control Panel button. Click on the Control Panel button to show the control panel's menu

  • Click the Create/Update Account button; fill in the form on the right image below. Make sure you read the description for each parameter in order to provide the correct value

  • We set the Period Receivable to the duration of a month in a minutes since we will be doing User A's taxes every month

  • We also set the Start of the account to October 20th, 2023 which is when the contract start counting the Period Receivable from

  • Lastly, we set the Description of our account and validate the transaction

  • Reload the page and tick the Mine Only button to only show your Bill contracts (this should enable you to find your Bill contract faster)

  • Click on the Details button to reveal the panel of your Bill contract. You should be able to see at the bottom left of the panel, your account's ID. Click on the ID to display the parameters of the account like we did by clicking on our account's ID in the image below (our account ID is 1)

  • Other details like the amount of tax the account owner needs to pay (which is computed with the formula: debit_factor * debits - credit_factor * credits) are available in the parameter section of the Bill contract once you select the right account. In our case, the tax amount is the Due Payable

Notifying Account Credits

  • Got to your Bill contract's panel and select the account to notify by its ID available at the bottom left of your panel

  • Go to your control panel's menu and select the Notify Credit button and fill in the Credit Address parameter with your own wallet address since you are the one notifying the contract. In case you are not the admin of the Bill, you should input in here the address of a contract approved to notify your Bill contract of Credit & Bill operations. Also enter the amount of the credit; this is in the currency of the account being notified.

  • Validate and confirm the operation. You should see the update reflected in the parameter section of your Bill contract once you select your account's ID

Notifying Account Debits

  • Got to your Bill contract's panel and select the account to notify by its ID available at the bottom left of your panel

  • Go to your control panel's menu and select the Notify Debit button and fill in the Debit Address parameter with your own wallet address since you are the one notifying the contract. In case you are not the admin of the Bill, you should input in here the address of a contract approved to notify your Bill contract of Credit & Bill operations. Also enter the amount of the debit; this is in the currency of the account being notified.

  • Validate and confirm the operation. You should see the update reflected in the parameter section of your Bill contract once you select your account's ID

💧
💧Bills