diff --git a/04-idp-document-a2i.ipynb b/04-idp-document-a2i.ipynb new file mode 100644 index 0000000..8a29fcd --- /dev/null +++ b/04-idp-document-a2i.ipynb @@ -0,0 +1,882 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Amazon Augmented AI (Amazon A2I) integration with Amazon Textract's Analyze Document [Example]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Visit https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks for all A2I Sample Notebooks\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. [Introduction](#Introduction)\n", + "2. [Prerequisites](#Prerequisites)\n", + " 1. [Workteam](#Workteam)\n", + " 2. [Permissions](#Notebook-Permission)\n", + "3. [Client Setup](#Client-Setup)\n", + "4. [Sample Data](#Sample-Data)\n", + " 1. [Download sample images](#Download-sample-images)\n", + " 2. [Upload images to S3](#Upload-images-to-S3)\n", + "5. [Create Control Plane Resources](#Create-Control-Plane-Resources)\n", + " 1. [Create Human Task UI](#Create-Human-Task-UI)\n", + " 2. [Create Flow Definition](#Create-Flow-Definition)\n", + "6. [Analyze Document with Textract](#Analyze-Document-with-Textract)\n", + "6. [Human Loops](#Human-Loops)\n", + " 1. [Check Status of Human Loop](#Check-Status-of-Human-Loop)\n", + " 2. [Wait For Workers to Complete Task](#Wait-For-Workers-to-Complete-Task)\n", + " 3. [Check Status of Human Loop](#Check-Status-of-Human-Loop)\n", + " 4. [View Task Results](#View-Task-Results)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Introduction\n", + "\n", + "Amazon Augmented AI (Amazon A2I) makes it easy to build the workflows required for human review of ML predictions. Amazon A2I brings human review to all developers, removing the undifferentiated heavy lifting associated with building human review systems or managing large numbers of human reviewers. \n", + "\n", + "Amazon A2I provides built-in human review workflows for common machine learning use cases, such as content moderation and text extraction from documents, which allows predictions from Amazon Rekognition and Amazon Textract to be reviewed easily. You can also create your own workflows for ML models built on Amazon SageMaker or any other tools. Using Amazon A2I, you can allow human reviewers to step in when a model is unable to make a high confidence prediction or to audit its predictions on an on-going basis. Learn more here: https://aws.amazon.com/augmented-ai/\n", + "\n", + "In this tutorial, we will show how you can use Amazon A2I directly within your API calls to Textract's Analyze Document API. \n", + "\n", + "For more in depth instructions, visit https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-getting-started.html" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To incorporate Amazon A2I into your human review workflows, you need three resources:\n", + "\n", + "* A **worker task template** to create a worker UI. The worker UI displays your input data, such as documents or images, and instructions to workers. It also provides interactive tools that the worker uses to complete your tasks. For more information, see https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-instructions-overview.html\n", + "\n", + "* A **human review workflow**, also referred to as a flow definition. You use the flow definition to configure your human workforce and provide information about how to accomplish the human review task. For built-in task types, you also use the flow definition to identify the conditions under which a review human loop is triggered. For example, with Amazon Textract can analyze text in a document using machine learning. You can use the flow definition to specify that a document will be sent to a human for content moderation review if Amazon Textracts's confidence score output is low for any or all pieces of text returned by Textract. You can create a flow definition in the Amazon Augmented AI console or with the Amazon A2I APIs. To learn more about both of these options, see https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-create-flow-definition.html\n", + "\n", + "* A **human loop** to start your human review workflow. When you use one of the built-in task types, the corresponding AWS service creates and starts a human loop on your behalf when the conditions specified in your flow definition are met or for each object if no conditions were specified. When a human loop is triggered, human review tasks are sent to the workers as specified in the flow definition.\n", + "\n", + "When using a custom task type, you start a human loop using the Amazon Augmented AI Runtime API. When you call StartHumanLoop in your custom application, a task is sent to human reviewers." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Install Latest SDK" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# First, let's get the latest installations of our dependencies\n", + "!pip install --upgrade pip\n", + "!pip install botocore --upgrade\n", + "!pip install boto3 --upgrade\n", + "!pip install -U botocore" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup\n", + "We need to set up the following data:\n", + "* `region` - Region to call A2I\n", + "* `bucket` - A S3 bucket accessible by the given role\n", + " * Used to store the sample images & output results\n", + " * Must be within the same region A2I is called from\n", + "* `role` - The IAM role used as part of StartHumanLoop. By default, this notebook will use the execution role\n", + "* `workteam` - Group of people to send the work to" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import boto3\n", + "import botocore\n", + "\n", + "REGION = boto3.session.Session().region_name" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Setup Bucket and Paths\n", + "\n", + "**Important**: The bucket you specify for `BUCKET` must have CORS enabled. You can enable CORS by adding a policy similar to the following to your Amazon S3 bucket. To learn how to add CORS to an S3 bucket, see [CORS Permission Requirement](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-permissions-security.html#a2i-cors-update) in the Amazon A2I documentation. \n", + "\n", + "\n", + "```\n", + "[{\n", + " \"AllowedHeaders\": [],\n", + " \"AllowedMethods\": [\"GET\"],\n", + " \"AllowedOrigins\": [\"*\"],\n", + " \"ExposeHeaders\": []\n", + "}]\n", + "```\n", + "\n", + "If you do not add a CORS configuration to the S3 buckets that contains your image input data, human review tasks for those input data objects will fail. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "### Workteam or Workforce\n", + "BUCKET = \"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Your bucket, `BUCKET` must be located in the same AWS Region that you are using to run this notebook. This cell checks if they are located in the same Region. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Amazon S3 (S3) client\n", + "s3 = boto3.client('s3', REGION)\n", + "bucket_region = s3.head_bucket(Bucket=BUCKET)['ResponseMetadata']['HTTPHeaders']['x-amz-bucket-region']\n", + "assert bucket_region == REGION, \"Your S3 bucket {} and this notebook need to be in the same region.\".format(BUCKET)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "OUTPUT_PATH = f's3://{BUCKET}/a2i-results'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A workforce is the group of workers that you have selected to label your dataset. You can choose either the Amazon Mechanical Turk workforce, a vendor-managed workforce, or you can create your own private workforce for human reviews. Whichever workforce type you choose, Amazon Augmented AI takes care of sending tasks to workers. \n", + "\n", + "When you use a private workforce, you also create work teams, a group of workers from your workforce that are assigned to Amazon Augmented AI human review tasks. You can have multiple work teams and can assign one or more work teams to each job." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To create your Workteam, visit the instructions here: https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management.html\n", + "\n", + "After you have created your workteam, replace YOUR_WORKTEAM_ARN below" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "WORKTEAM_ARN= \"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Permissions\n", + "\n", + "The AWS IAM Role used to execute the notebook needs to have the following permissions:\n", + "\n", + "* TextractFullAccess\n", + "* SagemakerFullAccess\n", + "* S3 Read and Write Access to the bucket you specified in `BUCKET`. You can grant this permission by attaching a policy similar to the following to this role (replace `BUCKET` with your bucket-name).\n", + "\n", + "```\n", + "{\n", + " \"Version\": \"2012-10-17\",\n", + " \"Statement\": [\n", + " {\n", + " \"Effect\": \"Allow\",\n", + " \"Action\": [\n", + " \"s3:GetObject\"\n", + " ],\n", + " \"Resource\": [\n", + " \"arn:aws:s3:::BUCKET/*\"\n", + " ]\n", + " },\n", + " {\n", + " \"Effect\": \"Allow\",\n", + " \"Action\": [\n", + " \"s3:PutObject\"\n", + " ],\n", + " \"Resource\": [\n", + " \"arn:aws:s3:::BUCKET/*\"\n", + " ]\n", + " }\n", + " ]\n", + "}\n", + "```\n", + "* AmazonSageMakerMechanicalTurkAccess (if using MechanicalTurk as your Workforce)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from sagemaker import get_execution_role\n", + "\n", + "# Setting Role to the default SageMaker Execution Role\n", + "ROLE = get_execution_role()\n", + "display(ROLE)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Visit: https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-permissions-security.html to add the necessary permissions to your role" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Client Setup" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we are going to setup the clients. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import boto3\n", + "import io\n", + "import json\n", + "import uuid\n", + "import botocore\n", + "import time\n", + "import botocore\n", + "\n", + "# Amazon SageMaker client\n", + "sagemaker = boto3.client('sagemaker', REGION)\n", + "\n", + "# Amazon Textract client\n", + "textract = boto3.client('textract', REGION)\n", + "\n", + "# S3 client\n", + "s3 = boto3.client('s3', REGION)\n", + "\n", + "# A2I Runtime client\n", + "a2i_runtime_client = boto3.client('sagemaker-a2i-runtime', REGION)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pprint\n", + "\n", + "# Pretty print setup\n", + "pp = pprint.PrettyPrinter(indent=2)\n", + "\n", + "# Function to pretty-print AWS SDK responses\n", + "def print_response(response):\n", + " if 'ResponseMetadata' in response:\n", + " del response['ResponseMetadata']\n", + " pp.pprint(response)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Sample Data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Download sample images" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!wget 'https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/raw/master/document-demo.jpg' -O 'document-demo.jpg'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Upload images to S3\n", + "\n", + "Upload the sample images to your S3 bucket. They will be read by Textract and A2I later when the human task is created." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "document = 'document-demo.jpg' " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "s3.upload_file(document, BUCKET, document)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create Control Plane Resources" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Create Human Task UI\n", + "\n", + "Create a human task UI resource, giving a UI template in liquid html. This template will be rendered to the human workers whenever human loop is required.\n", + "\n", + "We are providing a simple demo template that is compatible with AWS Textract's Analyze Document API input and response.\n", + "\n", + "Since we are integrating A2I with Textract, we can create the template in the Console using default templates provided by A2I, to make the process easier (https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-instructions-overview.html). \n", + "\n", + "To make things easier, the below template string is copied from the defeault template provided by Amazon A2I (found in the SageMaker Console under Worker task templates)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "template = r\"\"\"\n", + "\n", + "{% capture s3_arn %}http://s3.amazonaws.com/{{ task.input.aiServiceRequest.document.s3Object.bucket }}/{{ task.input.aiServiceRequest.document.s3Object.name }}{% endcapture %}\n", + "\n", + " \n", + " \n", + "

Click on a key-value block to highlight the corresponding key-value pair in the document.\n", + "


\n", + "

If it is a valid key-value pair, review the content for the value. If the content is incorrect, correct it.\n", + "


\n", + "

The text of the value is incorrect, correct it.

\n", + "

\n", + "


\n", + "

A wrong value is identified, correct it.

\n", + "

\n", + "


\n", + "

If it is not a valid key-value relationship, choose No.

\n", + "

\n", + "


\n", + "

If you can’t find the key in the document, choose Key not found.

\n", + "

\n", + "


\n", + "

If the content of a field is empty, choose Value is blank.

\n", + "

\n", + "


\n", + "

Examples

\n", + "

Key and value are often displayed next or below to each other.\n", + "


\n", + "

Key and value displayed in one line.

\n", + "

\n", + "


\n", + "

Key and value displayed in two lines.

\n", + "

\n", + "


\n", + "

If the content of the value has multiple lines, enter all the text without line break. \n", + " Include all value text even if it extends beyond the highlight box.

\n", + "

\n", + "
\n", + " \n", + "
\n", + "
\n", + "\"\"\"\n", + "\n", + "def create_task_ui(task_ui_name):\n", + " '''\n", + " Creates a Human Task UI resource.\n", + "\n", + " Returns:\n", + " struct: HumanTaskUiArn\n", + " '''\n", + " response = sagemaker.create_human_task_ui(\n", + " HumanTaskUiName=task_ui_name,\n", + " UiTemplate={'Content': template})\n", + " return response" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Task UI name - this value is unique per account and region. You can also provide your own value here.\n", + "taskUIName = 'ui-textract-dem0'\n", + "\n", + "# Create task UI\n", + "humanTaskUiResponse = create_task_ui(taskUIName)\n", + "humanTaskUiArn = humanTaskUiResponse['HumanTaskUiArn']\n", + "print(humanTaskUiArn)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Creating the Flow Definition" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this section, we're going to create a flow definition definition. Flow Definitions allow us to specify:\n", + "\n", + "* The conditions under which your human loop will be called.\n", + "* The workforce that your tasks will be sent to.\n", + "* The instructions that your workforce will receive. This is called a worker task template.\n", + "* The configuration of your worker tasks, including the number of workers that receive a task and time limits to complete tasks.\n", + "* Where your output data will be stored.\n", + "\n", + "This demo is going to use the API, but you can optionally create this workflow definition in the console as well. \n", + "\n", + "For more details and instructions, see: https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-create-flow-definition.html." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Specify Human Loop Activation Conditions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since we are using a built-in integration type for A2I, we can use Human Loop Activation Conditions to provide conditions that trigger a human loop.\n", + "\n", + "Here we are specifying conditions for specific keys in our document. If Textract's confidence falls outside of the thresholds set here, the document will be sent to a human for review, with the specific keys that triggered the human loop prompted to the worker. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def create_flow_definition(flow_definition_name):\n", + " '''\n", + " Creates a Flow Definition resource\n", + "\n", + " Returns:\n", + " struct: FlowDefinitionArn\n", + " '''\n", + " # Visit https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-human-fallback-conditions-json-schema.html for more information on this schema.\n", + " humanLoopActivationConditions = json.dumps(\n", + " {\n", + " \"Conditions\": [\n", + " {\n", + " \"Or\": [\n", + " \n", + " {\n", + " \"ConditionType\": \"ImportantFormKeyConfidenceCheck\",\n", + " \"ConditionParameters\": {\n", + " \"ImportantFormKey\": \"Mail address\",\n", + " \"ImportantFormKeyAliases\": [\"Mail Address:\",\"Mail address:\", \"Mailing Add:\",\"Mailing Addresses\"],\n", + " \"KeyValueBlockConfidenceLessThan\": 100,\n", + " \"WordBlockConfidenceLessThan\": 100\n", + " }\n", + " },\n", + " {\n", + " \"ConditionType\": \"MissingImportantFormKey\",\n", + " \"ConditionParameters\": {\n", + " \"ImportantFormKey\": \"Mail address\",\n", + " \"ImportantFormKeyAliases\": [\"Mail Address:\",\"Mail address:\",\"Mailing Add:\",\"Mailing Addresses\"]\n", + " }\n", + " },\n", + " {\n", + " \"ConditionType\": \"ImportantFormKeyConfidenceCheck\",\n", + " \"ConditionParameters\": {\n", + " \"ImportantFormKey\": \"Phone Number\",\n", + " \"ImportantFormKeyAliases\": [\"Phone number:\", \"Phone No.:\", \"Number:\"],\n", + " \"KeyValueBlockConfidenceLessThan\": 100,\n", + " \"WordBlockConfidenceLessThan\": 100\n", + " }\n", + " },\n", + " {\n", + " \"ConditionType\": \"ImportantFormKeyConfidenceCheck\",\n", + " \"ConditionParameters\": {\n", + " \"ImportantFormKey\": \"*\",\n", + " \"KeyValueBlockConfidenceLessThan\": 100,\n", + " \"WordBlockConfidenceLessThan\": 100\n", + " }\n", + " },\n", + " {\n", + " \"ConditionType\": \"ImportantFormKeyConfidenceCheck\",\n", + " \"ConditionParameters\": {\n", + " \"ImportantFormKey\": \"*\",\n", + " \"KeyValueBlockConfidenceGreaterThan\": 0,\n", + " \"WordBlockConfidenceGreaterThan\": 0\n", + " }\n", + " }\n", + " ]\n", + " }\n", + " ]\n", + " }\n", + " )\n", + "\n", + " response = sagemaker.create_flow_definition(\n", + " FlowDefinitionName= flow_definition_name,\n", + " RoleArn= ROLE,\n", + " HumanLoopConfig= {\n", + " \"WorkteamArn\": WORKTEAM_ARN,\n", + " \"HumanTaskUiArn\": humanTaskUiArn,\n", + " \"TaskCount\": 1,\n", + " \"TaskDescription\": \"Document analysis sample task description\",\n", + " \"TaskTitle\": \"Document analysis sample task\"\n", + " },\n", + " HumanLoopRequestSource={\n", + " \"AwsManagedHumanLoopRequestSource\": \"AWS/Textract/AnalyzeDocument/Forms/V1\"\n", + " },\n", + " HumanLoopActivationConfig={\n", + " \"HumanLoopActivationConditionsConfig\": {\n", + " \"HumanLoopActivationConditions\": humanLoopActivationConditions\n", + " }\n", + " },\n", + " OutputConfig={\n", + " \"S3OutputPath\" : OUTPUT_PATH\n", + " }\n", + " )\n", + " \n", + " return response['FlowDefinitionArn']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Now we are ready to create our Flow Definition!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Flow definition name - this value is unique per account and region. You can also provide your own value here.\n", + "uniqueId = str(uuid.uuid4())\n", + "flowDefinitionName = f'fd-textract-{uniqueId}' \n", + "\n", + "flowDefinitionArn = create_flow_definition(flowDefinitionName)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def describe_flow_definition(name):\n", + " '''\n", + " Describes Flow Definition\n", + "\n", + " Returns:\n", + " struct: response from DescribeFlowDefinition API invocation\n", + " '''\n", + " return sagemaker.describe_flow_definition(\n", + " FlowDefinitionName=name)\n", + "\n", + "# Describe flow definition - status should be active\n", + "for x in range(60):\n", + " describeFlowDefinitionResponse = describe_flow_definition(flowDefinitionName)\n", + " print(describeFlowDefinitionResponse['FlowDefinitionStatus'])\n", + " if (describeFlowDefinitionResponse['FlowDefinitionStatus'] == 'Active'):\n", + " print(\"Flow Definition is active\")\n", + " break\n", + " time.sleep(2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Analyze Document with Textract" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have setup our Flow Definition, all that's left is calling Textract's Analyze Document API, and including our A2I paramters in the HumanLoopConfig." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "uniqueId = str(uuid.uuid4())\n", + "human_loop_unique_id = uniqueId + '1'\n", + "\n", + "humanLoopConfig = {\n", + " 'FlowDefinitionArn':flowDefinitionArn,\n", + " 'HumanLoopName':human_loop_unique_id, \n", + " 'DataAttributes': { 'ContentClassifiers': [ 'FreeOfPersonallyIdentifiableInformation' ]}\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def analyze_document_with_a2i(document_name, bucket):\n", + " response = textract.analyze_document(\n", + " Document={'S3Object': {'Bucket': bucket, 'Name': document_name}},\n", + " FeatureTypes=[\"TABLES\", \"FORMS\"], \n", + " HumanLoopConfig=humanLoopConfig\n", + " )\n", + " return response" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "analyzeDocumentResponse = analyze_document_with_a2i(document, BUCKET)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Human Loops\n", + "When a document passed to Textract matches the conditions in FlowDefinition, a HumanLoopArn will be present in the response to analyze_document. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If a _HumanLoopArn_ is present in the _HumanLoopActivationOutput_, we know **a Human Loop has been started**!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "if 'HumanLoopArn' in analyzeDocumentResponse['HumanLoopActivationOutput']:\n", + " # A human loop has been started!\n", + " print(f'A human loop has been started with ARN: {analyzeDocumentResponse[\"HumanLoopActivationOutput\"][\"HumanLoopArn\"]}')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Check Status of Human Loop" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "all_human_loops_in_workflow = a2i_runtime_client.list_human_loops(FlowDefinitionArn=flowDefinitionArn)['HumanLoopSummaries']\n", + "\n", + "for human_loop in all_human_loops_in_workflow:\n", + " print(f'\\nHuman Loop Name: {human_loop[\"HumanLoopName\"]}')\n", + " print(f'Human Loop Status: {human_loop[\"HumanLoopStatus\"]} \\n')\n", + " print('\\n')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Wait For Workers to Complete Task" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "workteamName = WORKTEAM_ARN[WORKTEAM_ARN.rfind('/') + 1:]\n", + "print(\"Navigate to the private worker portal and do the tasks. Make sure you've invited yourself to your workteam!\")\n", + "print('https://' + sagemaker.describe_workteam(WorkteamName=workteamName)['Workteam']['SubDomain'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Check Status of Human Loop" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "all_human_loops_in_workflow = a2i_runtime_client.list_human_loops(FlowDefinitionArn=flowDefinitionArn)['HumanLoopSummaries']\n", + "\n", + "completed_loops = []\n", + "for human_loop in all_human_loops_in_workflow:\n", + " print(f'\\nHuman Loop Name: {human_loop[\"HumanLoopName\"]}')\n", + " print(f'Human Loop Status: {human_loop[\"HumanLoopStatus\"]} \\n')\n", + " print('\\n')\n", + " if human_loop['HumanLoopStatus'] == 'Completed':\n", + " completed_loops.append(human_loop['HumanLoopName'])\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### View Task Results " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once work is completed, Amazon A2I stores results in your S3 bucket and sends a Cloudwatch event. Your results should be available in the S3 OUTPUT_PATH when all work is completed." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import re\n", + "import pprint\n", + "pp = pprint.PrettyPrinter(indent=2)\n", + "\n", + "def retrieve_a2i_results_from_output_s3_uri(bucket, a2i_s3_output_uri):\n", + " '''\n", + " Gets the json file published by A2I and returns a deserialized object\n", + " '''\n", + " splitted_string = re.split('s3://' + bucket + '/', a2i_s3_output_uri)\n", + " output_bucket_key = splitted_string[1]\n", + "\n", + " response = s3.get_object(Bucket=bucket, Key=output_bucket_key)\n", + " content = response[\"Body\"].read()\n", + " return json.loads(content)\n", + " \n", + "\n", + "for human_loop_name in completed_loops:\n", + "\n", + " describe_human_loop_response = a2i_runtime_client.describe_human_loop(\n", + " HumanLoopName=human_loop_name\n", + " )\n", + " \n", + " print(f'\\nHuman Loop Name: {describe_human_loop_response[\"HumanLoopName\"]}')\n", + " print(f'Human Loop Status: {describe_human_loop_response[\"HumanLoopStatus\"]}')\n", + " print(f'Human Loop Output Location: : {describe_human_loop_response[\"HumanLoopOutput\"][\"OutputS3Uri\"]} \\n')\n", + " \n", + " # Uncomment below line to print out a2i human answers\n", + " output = retrieve_a2i_results_from_output_s3_uri(BUCKET, describe_human_loop_response['HumanLoopOutput']['OutputS3Uri'])\n", + "# pp.pprint(output)\n", + "\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The End!" + ] + } + ], + "metadata": { + "instance_type": "ml.t3.medium", + "kernelspec": { + "display_name": "Python 3 (Data Science)", + "language": "python", + "name": "python3__SAGEMAKER_INTERNAL__arn:aws:sagemaker:us-east-1:081325390199:image/datascience-1.0" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/04.01-idp-a2i-with-custom-rules.ipynb b/04.01-idp-a2i-with-custom-rules.ipynb new file mode 100644 index 0000000..722863f --- /dev/null +++ b/04.01-idp-a2i-with-custom-rules.ipynb @@ -0,0 +1,912 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Customize Business Rules for Intelligent Document Processing with Human Review and BI Visualization" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Amazon Textract (https://aws.amazon.com/textract/) lets you easily extract text from various documents, and Amazon Augmented AI (https://aws.amazon.com/augmented-ai/) (A2I) enables you to implement a human review of machine learning predictions. The default Amazon A2I template allows you to build a human review pipeline based on conditions such as when the extraction confidence score is lower than a pre-defined threshold, required keys are missing, or randomly assigning documents to human review. But sometimes, customers need the document processing pipeline to support flexible business rules, such as validating the string format, verifying the data type and range, and cross fields validation. This post shows how you can leverage Amazon Textract and Amazon A2I to customize a generic document processing pipeline supporting flexible business rules." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The following diagram illustrates the workflow of the pipeline that supports customized business rules:\n", + "![a2i with custom rules](./images/a2i-custom-rule.png)\n", + "\n", + "- [Step 1: Setup notebook](#step1)\n", + "- [Step 2: Extract text from sample documents using Amazon Textract](#step2)\n", + "- [Step 3: Validate rules and route document to A2I](#step3)\n", + "- [Step 4: Build BI dashboard using QuickSight](#step4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The Sample Document\n", + "The documents processed in the sample solution is the Tax Form 990 (https://en.wikipedia.org/wiki/Form_990), a US IRS form that provides the public with financial information about a non-profit organization. We will only cover the extraction logic for some of the fields on the 1st page as example since this post focuses on the end-to-end pipeline. \n", + "\n", + "

💡 NOTE\n", + "

\n", + " The document is from the publicly available IRS (Internal Revenue Service) website.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Step 1: Setup notebook \n", + "\n", + "In this step, we will import some necessary libraries that will be used throughout this notebook. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!pip install awscli --upgrade\n", + "!pip install botocore --upgrade\n", + "!pip install boto3 --upgrade" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import boto3\n", + "import botocore\n", + "import sagemaker as sm\n", + "import os\n", + "import io\n", + "import datetime\n", + "\n", + "# variables\n", + "data_bucket = sm.Session().default_bucket()\n", + "region = boto3.session.Session().region_name\n", + "\n", + "os.environ[\"BUCKET\"] = data_bucket\n", + "os.environ[\"REGION\"] = region\n", + "role = sm.get_execution_role()\n", + "\n", + "print(f\"SageMaker role is: {role}\\nDefault SageMaker Bucket: s3://{data_bucket}\")\n", + "\n", + "s3=boto3.client('s3')\n", + "textract = boto3.client('textract', region_name=region)\n", + "comprehend=boto3.client('comprehend', region_name=region)\n", + "sagemaker=boto3.client('sagemaker', region_name=region)\n", + "a2i=boto3.client('sagemaker-a2i-runtime', region_name=region)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "# Step 2: Extract text from sample documents using Amazon Textract\n", + "\n", + "In this section we use Amazon Textract's `analyze_document` API to extract the text information for the 990 Tax Form Page 1 document. We will also map the data to a JSON data model. This data model will be used to validate business rules in the later steps." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, define a JSON structure `page1` map to the fields on the 990 Tax form on page 1, so we can apply business rules in the later steps. \n", + "\n", + "The below image shows how the text on page 1 maps to the JSON fields.\n", + "\n", + "![990 page1 mapping](./images/a2i-page1-data-model-mapping.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The below `page1` object will hold the Textract extraction result. \n", + "Following the same pattern, you can expand this JSON to include more fields. For this lab, the sample code only extracts and maps a partial page." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# JSON structure to hold the Page 1 extraction result\n", + "page1 = {\n", + " \"dln\": None,\n", + " \"omb_no\": None,\n", + " \"b.address_change\": None,\n", + " \"b.name_change\": None,\n", + " \"c.org_name\": None,\n", + " \"c.street_no\": None,\n", + " \"d.employer_id\": None,\n", + " \"e.phone_number\": None,\n", + " \"i.501_c_3\": None,\n", + " \"i.501_c\": None,\n", + " \"part1.1\": None,\n", + " \"part1.3\": None,\n", + " \"part1.8_pre_yr\": None,\n", + " \"part1.8_cur_yr\": None,\n", + " }" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let's start to prepare extraction by uploading the sample document to the S3 bucket:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "s3_key = 'idp/textract/990-sample-page-1.jpg'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Upload images to S3 bucket:\n", + "!aws s3 cp a2idata/990-sample-page-1.jpg s3://{data_bucket}/{s3_key} --only-show-errors" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Get image meta data\n", + "from PIL import Image\n", + "im = Image.open('a2idata/990-sample-page-1.jpg')\n", + "image_width, image_height = im.size" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now call Textrat's `analyze_document` API Query feature to extract fields by asking specific questions. You do not need to know the structure of the data in the document (table, form, implied field, nested data) or worry about variations across document versions and formats. Queries leverages a combination of visual, spatial, and language cues to extract the information you seek with high accuracy.\n", + "\n", + "In the below code, 14 Textract Query questions map to the fields in the JSON structure defined earlier:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response = textract.analyze_document(\n", + " Document={'S3Object': {'Bucket': data_bucket, 'Name': s3_key}},\n", + " FeatureTypes=[\"QUERIES\"],\n", + " QueriesConfig={\n", + " 'Queries': [\n", + " {\n", + " 'Text': 'What is the DLN?',\n", + " 'Alias': 'DLN_NO'\n", + " },\n", + " {\n", + " 'Text': 'What is the OMB No?',\n", + " 'Alias': 'OMB_NO'\n", + " },\n", + " {\n", + " 'Text': 'Does the address changed?',\n", + " 'Alias': 'B_ADDRESS_CHANGED'\n", + " },\n", + " {\n", + " 'Text': 'Does the name changed?',\n", + " 'Alias': 'B_NAME_CHANGED'\n", + " },\n", + " {\n", + " 'Text': 'What is the name of organzation?',\n", + " 'Alias': 'C_ORG_NAME'\n", + " },\n", + " {\n", + " 'Text': 'What is the Number and street?',\n", + " 'Alias': 'C_STREET_NUMBER'\n", + " },\n", + " {\n", + " 'Text':'What is the Employer identification number?',\n", + " 'Alias': 'D_EMPLOYER_ID'\n", + " },\n", + " {\n", + " 'Text':'What is Telephone Number?',\n", + " 'Alias': 'E_PHONE'\n", + " },\n", + " {\n", + " 'Text':'Does 501(cx3) checked?',\n", + " 'Alias': 'I_501_CX3'\n", + " },\n", + " {\n", + " 'Text':'Does 501(c) checked?',\n", + " 'Alias': 'I_501_C'\n", + " },\n", + " {\n", + " 'Text':'What is Breifly describe the organization''s mission or most significant activities?',\n", + " 'Alias': 'PART_1_1'\n", + " },\n", + " {\n", + " 'Text':'What is Number of voting members of the governing body?',\n", + " 'Alias': 'PART_1_3'\n", + " },\n", + " {\n", + " 'Text':'What is 8 contributes and grants for Prior Year?',\n", + " 'Alias': 'PART_1_8_PRIOR_YEAR'\n", + " },\n", + " {\n", + " 'Text':'What is 8 contributes and grants for Current Year?',\n", + " 'Alias': 'PART_1_8_CURRENT_YEAR'\n", + " },\n", + " ]\n", + " }\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Textract JSON response is relatively large. \n", + "You can use the below code snippet to save it as a JSON file under the same directory called: `textract-response.json`. \n", + "\n", + "Open the file in a new SageMaker Studio tab (or you preferred IDE) for easy reviewing and searching." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import json, os\n", + "with open('textract-response.json','w') as f:\n", + " f.write(json.dumps(response))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now let's parse the Textract response to populate the values to the `page1` object defined earlier." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Utility functions to allocate fields from Textract response JSON\n", + "# Find the Query item in block. Return text and confidence score\n", + "# return tuple contains (parsed_value, confidence_score, raw_block)\n", + "def get_query_ref(id):\n", + " for b in response[\"Blocks\"]:\n", + " if b[\"BlockType\"] == \"QUERY_RESULT\" and b[\"Id\"] == id:\n", + " return {\n", + " \"value\": b.get(\"Text\"), \n", + " \"confidence\": b.get(\"Confidence\"), \n", + " \"block\": b\n", + " }\n", + " return None\n", + " \n", + "def get_query_answer(q_alias):\n", + " for b in response[\"Blocks\"]:\n", + " if b[\"BlockType\"] == \"QUERY\" and b[\"Query\"][\"Alias\"] == q_alias:\n", + " ref_id = b[\"Relationships\"][0][\"Ids\"][0]\n", + " return get_query_ref(ref_id)\n", + " return None\n", + "\n", + "# Populate Textract Query results to the page1 object\n", + "page1['dln'] = get_query_answer('DLN_NO')\n", + "page1['omb_no'] = get_query_answer('OMB_NO')\n", + "page1['b.address_change'] = get_query_answer('B_ADDRESS_CHANGED')\n", + "page1['b.name_change'] = get_query_answer('B_NAME_CHANGED')\n", + "page1['c.org_name'] = get_query_answer('C_ORG_NAME')\n", + "page1['c.street_no'] = get_query_answer('C_STREET_NUMBER')\n", + "page1['d.employer_id'] = get_query_answer('D_EMPLOYER_ID')\n", + "page1['e.phone_number'] = get_query_answer('E_PHONE')\n", + "page1['i.501_c_3'] = get_query_answer('I_501_CX3')\n", + "page1['i.501_c'] = get_query_answer('I_501_C')\n", + "page1['part1.1'] = get_query_answer('PART_1_1')\n", + "page1['part1.3'] = get_query_answer('PART_1_3')\n", + "page1['part1.8_pre_yr'] = get_query_answer('PART_1_8_PRIOR_YEAR')\n", + "page1['part1.8_cur_yr'] = get_query_answer('PART_1_8_CURRENT_YEAR')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Each fields in the `page1` object contains 3 sub-fields:\n", + "* *value*: The text value extracted by Textract\n", + "* *confidence*: Textract confidence score - you can define custom business rule base on it.\n", + "* *block*: The original Textract block section keeps Geometry metadata. We will need it for the custom A2I UI to plot the bounding box on top of the original text block." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Print out page1\n", + "page1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Step 3: Define generic business rules " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this lab, we defined 3 business rules for demo purposes:\n", + "* The 1st rule is for the employer Id field. The rule will fail if the Textract confidence score is lower than 99%. In this demo rule, we set the confidence score threshold high, which will break by design. You could adjust the threshold to a more reasonable value to reduce unnecessary human effort in a real-world environment.\n", + "\n", + "* The 2nd rule is for the DLN field, the unique identifier of the Tax form, which is a must-have for the downstream processing logic. This rule will fail if the DLN field misses or with an empty value.\n", + "\n", + "* The 3rd rule is also for DLN field but with a different condition type “LengthCheck”. The rule will break if the DLN length is not 16 characters. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "rules = [\n", + " {\n", + " \"description\": \"Employee Id confidence score should greater than 99\",\n", + " \"field_name\": \"d.employer_id\",\n", + " \"field_name_regex\": None, # support Regex: \"_confidence$\",\n", + " \"condition_category\": \"Confidence\",\n", + " \"condition_type\": \"ConfidenceThreshold\",\n", + " \"condition_setting\": \"99\",\n", + " },\n", + " {\n", + " \"description\": \"dln is required\",\n", + " \"field_name\": \"dln\",\n", + " \"condition_category\": \"Required\",\n", + " \"condition_type\": \"Required\",\n", + " \"condition_setting\": None,\n", + " },\n", + " {\n", + " \"description\": \"dln length should be 16\",\n", + " \"field_name\": \"dln\",\n", + " \"condition_category\": \"LengthCheck\",\n", + " \"condition_type\": \"ValueRegex\",\n", + " \"condition_setting\": \"^[0-9a-zA-Z]{16}$\",\n", + " }\n", + "]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "More information about the rule definition:\n", + "* *description*: the description of the rule. \n", + "* *field_name*: the field name defined in the Data Model JSON. (in the Define Data Model section)\n", + "* *field_name_regex*: The regular expression applies to field_name when you want to apply the same rule to multiple fields. E.g., applying the rule to all fields with the prefix “part1” will need field_name_regex value “part1$” in a standard regular expression format. Note, filed_name will be ignored when “field_name_regex” is specified.\n", + "* *condition_category*: The category of the condition for display and tracking purpose. In one of these values: \"Required\", \"Confidence\", \"LengthCheck\", \"ValueCheck\"\n", + "* *condition_type*: The type of the condition in one of these values: \"Required\", \"ValueRegex\", \"ConfidenceThreshold\"\n", + "* *condition_setting*: Regular Expression string when the condition_type is “ValueRegex”. None when the condition_type is “RequiredField”." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## We have the data extracted from the document and the rules defined. Now let's evaluate the data against these rules.\n", + "The `Condition` class is a generic `Rules Engine` that takes 2 parameters: the data (page1 object) and the conditions we defined above. It will return 2 lists due to met and failed conditions. We then can send the document to A2I for human review if any conditions fail.\n", + "\n", + "The `Condition` class source code locates in the a2idata folder `condition.py` file. It supports basic validation logic, such as validating a string's length, value range, and confidence score threshold. You can modify the code to support more condition types for complex validation logic." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from a2idata.condition import Condition\n", + "\n", + "# Validate business rules:\n", + "con = Condition(page1, rules)\n", + "rule_missed, rule_satisfied = con.check_all()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# print out the list of failed business rules\n", + "rule_missed" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You should see 2 conditions that failed by design:\n", + "- The 1st condition expects the DLN confidence score higher than 99%, but the acutal Textract confidence is 98%.\n", + "- The 3rd condition does a length check of the DLN number and expects the length should be 16 exact, but the actual length is 15. \n", + "\n", + "In the next step, we will send this list of failed conditions to A2I for human review." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 3.2: Setup customized A2I UI template and workforce" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Amazon A2I allows you to customize the reviewer’s web view by defining Work Task Template (https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-custom-templates.html). The template is a static web page in HTML and JavaScript. You can pass data to the customized reviewer page leveraging the Liquid (https://shopify.github.io/liquid/) syntax.\n", + "In the below sample, the custom template shows the PDF page on the left and the unsatisfied conditions on the right. Reviewers can correct the extraction value along with their comments. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### In the previous lab: notebook 04-idp-document-a2i.ipynb, we have set up the the below resources:\n", + "* A **Work Team (WHO)** authenticates the group of workers you have selected to review the tasks.\n", + "* A **Human Task UI (WHAT)** defines what the reviewer will see in the A2I console when reviewing the task, using the default Textract/A2I template.\n", + "* A **Workflow Definition (WHEN)** wrapping the above information and defining the conditions when the human review should trigger, using the default Textract A2I condition template.\n", + "\n", + "In this lab, we will check if the account already has a work team. The below code will get the work team ARN and store it in a local variable. If you get an error from the above step. Follow this instruction to set up the workforce and run the below cell again: \n", + "https://catalog.workshops.aws/intelligent-document-processing/en-US/02-getting-started/module-4-human-review#setup-an-a2i-human-review-workflow" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# get the existing workforce arn\n", + "work_team_arn = sagemaker.list_workteams()[\"Workteams\"][0][\"WorkteamArn\"]\n", + "work_team_arn" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create a new A2I Work Task Template - this is the Liquid HTML page you use to customize the reviewer UI. (The HTML template stores at a2idata/a2i-custom-ui.html)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# read the UI template from a2i-data directory\n", + "template = \"\"\n", + "with open('a2idata/a2i-custom-ui.html','r') as f:\n", + " template = f.read()\n", + "\n", + "resp = sagemaker.create_human_task_ui(\n", + " HumanTaskUiName=\"a2i-custom-ui-demo\",\n", + " UiTemplate={'Content': template})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Keep the new UI template ARN in a variable\n", + "ui_template_arn = resp[\"HumanTaskUiArn\"]\n", + "ui_template_arn" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create a new human review workflow to wrap up all the information A2I needed." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "resp = sagemaker.create_flow_definition(\n", + " FlowDefinitionName= \"a2i-custom-ui-demo-workflow\",\n", + " RoleArn= role,\n", + " HumanLoopConfig= {\n", + " \"WorkteamArn\": work_team_arn,\n", + " \"HumanTaskUiArn\": ui_template_arn,\n", + " \"TaskCount\": 1,\n", + " \"TaskDescription\": \"A2I custom business rule and UI demo workflow\",\n", + " \"TaskTitle\": \"Custom rule sample task\"\n", + " },\n", + " OutputConfig={\n", + " \"S3OutputPath\" : f's3://{data_bucket}/a2i/output/'\n", + " }\n", + " )\n", + "\n", + "workflow_definition_arn = resp['FlowDefinitionArn']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The new A2I UI template and the Workflow definition are in place. Let's send the missed conditions to the Workflow, so a reviewer can verify the result using A2I." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import uuid\n", + "human_loop_name = 'custom-loop-' + str(uuid.uuid4())\n", + "\n", + "# Construct the data send to the custom A2I human review task\n", + "a2i_payload = {\n", + " \"InputContent\": json.dumps({\n", + " \"Results\": {\n", + " \"ConditionMissed\": rule_missed,\n", + " \"ConditionSatisfied\": rule_satisfied\n", + " },\n", + " \"s3\":{\n", + " \"bucket\":data_bucket,\n", + " \"path\":s3_key,\n", + " \"url\": f's3://{data_bucket}/{s3_key}',\n", + " \"image_width\": image_width,\n", + " \"image_height\": image_height\n", + " },\n", + " \"text\": \"990 Tax Form Page 1\",\n", + " })\n", + " }\n", + "\n", + "# Start the human loop task\n", + "start_loop_response = a2i.start_human_loop(\n", + " HumanLoopName=human_loop_name,\n", + " FlowDefinitionArn=workflow_definition_arn,\n", + " HumanLoopInput=a2i_payload)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "human_loop_arn = start_loop_response[\"HumanLoopArn\"]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Check status of the Human Loop" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "a2i.describe_human_loop(HumanLoopName=human_loop_name)[\"HumanLoopStatus\"]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The below cell will print out the A2I console URL, which you can use to log in using the credential received when setting up the Workforce to review the task." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "work_team_name = work_team_arn[work_team_arn.rfind('/') + 1:]\n", + "print(\"Navigate to the private worker portal and do the tasks. Make sure you've invited yourself to your workteam!\")\n", + "print('https://' + sagemaker.describe_workteam(WorkteamName=work_team_name)['Workteam']['SubDomain'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the A2I console, you should see a task in the list. Click on the \"Start Working\" button, and A2I will bring you to the customized UI page that looks like the below. \n", + "\n", + "Below is a screenshot of the customized A2I UI. It shows the original image document on the left and the 2 failed conditions on the right (We defined the conditions to fail on purpose):\n", + "\n", + "* The DLN numbers should be 16 characters long. The actual DLN has 15 characters.\n", + "* The field employer_id’s confidence score is lower than 99%. The actual confidence score is around 98%.\n", + "\n", + "\n", + "![A2I custom UI](./images/a2i-custom-ui.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once you review the task and click on the Sumbit button. The human review task status will change to \"Completed\".\n", + "\n", + "A2I will store a JSON file in the S3 bucket once the review is submitted. The JSON will include the original data sent to A2I and the reviewer's input." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "a2i_resp = a2i.describe_human_loop(HumanLoopName=human_loop_name)\n", + "print(\"Human Loop task status: \", a2i_resp[\"HumanLoopStatus\"])\n", + "print(\"Human Loop output: \", a2i_resp[\"HumanLoopOutput\"][\"OutputS3Uri\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Check A2I generated JSON\n", + "Now, let's download the A2I output file and print it out:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "s3.download_file(data_bucket, a2i_resp[\"HumanLoopOutput\"][\"OutputS3Uri\"].replace(f's3://{data_bucket}/',''), 'a2i-output.json')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `humanAnswers` field in the JSON file contains the reviewer's input. The `inputContent` field contains the original data sent to A2I." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "with open('a2i-output.json','r') as f:\n", + " print(json.dumps(json.loads(f.read()), indent=2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## Expand the solution to support more documents and business rules\n", + "\n", + "To expand the solution to support more document pages with corresponding business rules, you will need to make changes in the below 3 places:\n", + "\n", + "* Create a data model for the new page: in JSON structure representing all the values you want to extract out of the pages. \n", + "* The extraction logic: leverage Amazon Textract to extract text out of the document and populate value to the data model.\n", + "* Add business rules corresponding to the page in JSON format. \n", + "\n", + "The custom A2I UI in the solution is generic, which doesn’t require a change to support new business rules.\n", + "\n", + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Step 4: Build BI dashboard using QuickSight \n", + "\n", + "In the below section, we will build a BI dashboard using Amazon QuickSight to get insights into the IDP pipeline. \n", + "Below is a screenshot of the Amazon QuickSight dashboard. It includes widgets presenting numbers of the documents processed automatically or requiring human review. The primary reason caused the document to require human review and a histogram plot of the number of documents processed daily.\n", + "\n", + "You can expand the dashboard by including more data and visuals to get insights and support business decisions.\n", + "\n", + "![A2I custom UI](./images/a2i-quicksight-dashboard.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## QuickSight Initial Setup \n", + "You will need author access to a QuickSight Enterprise Account for this workshop.\n", + "\n", + "If you don't have a QuickSight account already, steps to create one are given below.\n", + "\n", + "***Setup QuickSight***\n", + "\n", + "1. Launch AWS Console (https://console.aws.amazon.com ) in a new browser tab, search for QuickSight and launch it.\n", + "2. On QuickSight page, click Sign up for QuickSight button.\n", + "3. Keep the default Enterprise edition, scroll down and click Continue button.\n", + "4. Enter QuickSight account name & Notification email address. Be sure to choose a name that is relevant and applicable to your entire user pool. Enter your official email as the notification email.\n", + "5. Scroll down and click Finish button. (It can take 15-30 Secs to set up the account)\n", + "6. Click Go to Amazon QuickSight button. You will now be taken to QuickSight console.\n", + "\n", + "![A2I custom UI](./images/a2i-quicksight-init.gif)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this lab, we have a CSV file under the a2idata folder called a2i-bi-sample-data.csv, which you can use to build the QuickSight dashboard. It is a sample dataset to start with. You can develop your ETL process to transform the A2I JSON data to your preferred format.\n", + "\n", + "**Add Dataset**\n", + "\n", + "1. Download the CSV file to your local drive from a2idata/a2i-bi-sample-data.csv\n", + "2. On the QuickSight page, click on \"Datasets\" then click on \"Add new dataset\" button on the top-right side\n", + "3. Click on \"Upload a file\" then choose the csv file downloaded in step 1\n", + "4. Click \"Next\" on the confirm file upload setting\" page.\n", + "5. click on \"Visualize\" button then QuickSight will navigate to the Analyses page\n", + "\n", + "![A2I custom UI](./images/a2i-quicksight-dataset.gif)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After the dataset adds to QuickSight, you will navigate to the Analyses page managing visuals. Let's create a Pie chart to show the total number of documents processed automatically vs. with human review.\n", + "\n", + "**Create a Pie Chart**\n", + "1. Select the Pie chart in the \"Visual Type\" section\n", + "2. Drag the \"process_method\" field to the first drop-down list in Field wells\n", + "3. Drag the \"doc_id\" field to the 2nd drop-down list in Field wells, then change the aggregation type from the default \"count\" to \"Count distinct\"\n", + "4. Change the Visual display summary by double-clicking the visual to \"Numbers of documents processed automatically vs. human review\" then click \"Save\"\n", + "\n", + "You now get the first visual ready.\n", + "\n", + "![A2I custom UI](./images/a2i-quicksight-visual-pie.gif)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's create another visual that shows the field(s) that caused most of the human review. So you could optimize the workflow based on the insights.\n", + "\n", + "**Create a Word Cloud Visual**\n", + "1. Click \"Add\" - > \"Add Visual\" on the top-left menu\n", + "2. Select the Word Cloud in the \"Visual Type\" section\n", + "3. Drag the \"field_name\" field to the first drop-down list in Field wells\n", + "\n", + "We need to filter the dataset for this Visual, so it only shows fields from the \"manu\" tasks\n", + "\n", + "4. Click \"Filter\" on the left menu, then click \"Create one...\" link\n", + "5. Choose \"process_method\" field which you will apply the filter\n", + "6. Click on \"include all\" to change the default filter setting\n", + "7. Uncheck \"auto\" from the list, then click \"Apply\"\n", + "\n", + "Now the visual will ignore the \"auto\" task in the dataset\n", + "\n", + "8. Change the Visual display summary by double-clicking the visual to \"Fields caused most of the human review\" then click \"Save\"\n", + "\n", + "![A2I custom UI](./images/a2i-quicksight-visual-wordcloud.gif)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's add a 3rd visual, a histogram showing the numbers of documents processed daily by humans vs. automation. \n", + "\n", + "**Create a Histogram Visual**\n", + "1. Click \"Add\" - > \"Add Visual\" on the top-left menu\n", + "2. Select the Line Chart in the \"Visual Type\" section\n", + "3. Drag the \"timestamp\" field to the first drop-down list in Field wells\n", + "4. Drag the \"doc_id\" field to the second drop-down list in Field wells and change the aggregation type of Count distinct\n", + "5. Drag the \"process_type\" field to the third drop-down list in Field wells\n", + "6. Change the Visual display summary by double-clicking the visual to \"Numbers documents processed daily\" then click \"Save\"\n", + "\n", + "![A2I custom UI](./images/a2i-quicksight-visual-histogram.gif)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now have 3 visuals show insights of the IDP A2I workflow. You can publish them to a dashboard by following the below steps:\n", + "1. Click \"Share\" on the top-right menu and choose \"Publish a dashboard\"\n", + "2. For the first time publishing a dashboard, type a name in the textbox under \"Publish new dashboard as\" then click \"Publish Dashboard\"\n", + "You can set up access control in QuickSight to share the dashboard with the other users.\n", + "\n", + "![A2I custom UI](./images/a2i-quicksight-publish.gif)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "# Cleanup\n", + "\n", + "Cleanup is optional if you want to execute subsequent notebooks. \n", + "\n", + "Refer to the `05-idp-cleanup.ipynb` for cleanup and deletion of resources." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "# Conclusion\n", + "\n", + "In this notebook, we built a pipeline to extract data from the first page 990 Tax form using Textract, applied customized business rules against the extracted data, and then used the customized A2I UI to review the result. In the end, we also put together a QuickSight dashboard to get an insight into the overall workflow. \n", + "\n", + "Intelligent Document Processing is in high demand, and companies need a customized pipeline to support their unique business logic. Amazon A2I offers a built-in template integrated with Amazon Textract support for common human review use cases. It also allows you to customize the reviewer page to serve flexible requirements. " + ] + } + ], + "metadata": { + "instance_type": "ml.t3.medium", + "kernelspec": { + "display_name": "Python 3 (Data Science)", + "language": "python", + "name": "python3__SAGEMAKER_INTERNAL__arn:aws:sagemaker:us-east-1:081325390199:image/datascience-1.0" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/README.md b/README.md index 91a3ec5..37f468b 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ Once the SageMaker Studio IDE has fully loaded in your browser, you can clone th * Next, clone this repository using ``` -git clone idp_workshop +git clone https://github.com/aws-samples/aws-ai-intelligent-document-processing idp_workshop ``` * Once the repository is cloned, a direcotry named `idp_workshop` will appear in the "File Browser" on the left panel of SageMaker Studio IDE diff --git a/a2idata/990-sample-page-1.jpg b/a2idata/990-sample-page-1.jpg new file mode 100644 index 0000000..f6e9c41 Binary files /dev/null and b/a2idata/990-sample-page-1.jpg differ diff --git a/a2idata/__init__.py b/a2idata/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/a2idata/a2i-bi-sample-data.csv b/a2idata/a2i-bi-sample-data.csv new file mode 100644 index 0000000..0df406e --- /dev/null +++ b/a2idata/a2i-bi-sample-data.csv @@ -0,0 +1,36 @@ +timestamp,doc_id,condition_category,condition_setting,field_name,field_value,human_loop_name,reviewer,process_method +2022/07/01,9.34932E+13,LengthCheck,^[0-9a-zA-Z]{16}$,dln,9.34932E+13,custom-loop-a8e97e82-2b71-43cc-9b9f-9f3cc1f17bc5,Reviewer 1,manu +2022/07/01,93493188018523,Confidence,99,d.employer_id,98.06,custom-loop-a8e97e82-2b71-43cc-9b9f-9f3cc1f17bc5,Reviewer 1,manu +2022/07/02,93493188018524,Required,,dln,,custom-loop-8703c751-4a83-4cd8-b19e-81ea8d09a1d2,Reviewer 2,manu +2022/07/02,93493188018525,LengthCheck,,e.phone_number,123,custom-loop-8703c751-4a83-4cd8-b19e-81ea8d09a1w3,Reviewer 1,manu +2022/07/02,93493188018525,Required,,dln,,custom-loop-8703c751-4a83-4cd8-b19e-81ea8d09a1w3,Reviewer 1,manu +2022/07/03,93493188018526,Required,,dln,,custom-loop-8703c751-4a83-4cd8-b19e-81ea8d09a13d,Reviewer 1,manu +2022/07/03,93493188018527,Confidence,,dln,94,custom-loop-8703c751-4a83-4cd8-b19e-81ea8d09a134,Reviewer 3,manu +2022/07/04,93493188018528,LengthCheck,,omb_no,,custom-loop-8703c751-4a83-4cd8-b19e-81ea8d09a1xs,Reviewer 3,manu +2022/07/01,93493188018529,,,,,,,auto +2022/07/01,93493188018530,,,,,,,auto +2022/07/01,93493188018531,,,,,,,auto +2022/07/01,93493188018532,,,,,,,auto +2022/07/01,93493188018533,,,,,,,auto +2022/07/02,93493188018534,,,,,,,auto +2022/07/02,93493188018535,,,,,,,auto +2022/07/02,93493188018536,,,,,,,auto +2022/07/02,93493188018537,,,,,,,auto +2022/07/02,93493188018538,,,,,,,auto +2022/07/02,93493188018539,,,,,,,auto +2022/07/03,93493188018540,,,,,,,auto +2022/07/03,93493188018541,,,,,,,auto +2022/07/03,93493188018542,,,,,,,auto +2022/07/03,93493188018543,,,,,,,auto +2022/07/03,93493188018544,,,,,,,auto +2022/07/03,93493188018545,,,,,,,auto +2022/07/03,93493188018546,,,,,,,auto +2022/07/03,93493188018546,,,,,,,auto +2022/07/03,93493188018547,,,,,,,auto +2022/07/03,93493188018548,,,,,,,auto +2022/07/03,93493188018549,,,,,,,auto +2022/07/04,93493188018550,,,,,,,auto +2022/07/04,93493188018551,,,,,,,auto +2022/07/04,93493188018552,,,,,,,auto +2022/07/04,93493188018553,,,,,,,auto +2022/07/04,93493188018554,,,,,,,auto \ No newline at end of file diff --git a/a2idata/a2i-custom-ui.html b/a2idata/a2i-custom-ui.html new file mode 100644 index 0000000..b5fff78 --- /dev/null +++ b/a2idata/a2i-custom-ui.html @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + +
+
+
+ + + {% for b in task.input.Results.ConditionMissed %} + {% if b.block != null %} + + {% endif %} + {% endfor %} + +
+
+
    + +
+

Instructions

+

Please review the extracted result, and make corrections where appropriate.

+
+
+

Missed Conditions

+ + + + + + + + + + + {% for r in task.input.Results.ConditionMissed %} + + + + + + + + + {% endfor %} + +
DESCRIPTIONACTUAL VALUEYOUR VALUECHANGE REASON
{{ r.message }}{{ r.field_value }} +

+ +

+
+

+ +

+
+
+
\ No newline at end of file diff --git a/a2idata/condition.py b/a2idata/condition.py new file mode 100644 index 0000000..6ad32fc --- /dev/null +++ b/a2idata/condition.py @@ -0,0 +1,100 @@ +from enum import Enum +import re + +class Condition: + _data = None + _conditions = None + _result = None + + def __init__(self, data, conditions): + self._data = data + self._conditions = conditions + + def check(self, field_name, obj): + r,s = [],[] + for c in self._conditions: + # Matching field_name or field_name_regex + condition_setting = c.get("condition_setting") + if c["field_name"] == field_name \ + or (c.get("field_name") is None and c.get("field_name_regex") is not None and re.search(c.get("field_name_regex"), field_name)): + field_value, block = None, None + if obj is not None: + field_value = obj.get("value") + block = obj.get("block") + confidence = obj.get("confidence") + + if c["condition_type"] == "Required" \ + and (obj is None or field_value is None or len(str(field_value)) == 0): + r.append({ + "message": f"The required field [{field_name}] is missing.", + "field_name": field_name, + "field_value": field_value, + "condition_type": str(c["condition_type"]), + "condition_setting": condition_setting, + "condition_category":c["condition_category"], + "block": block + }) + elif c["condition_type"] == "ConfidenceThreshold" \ + and c["condition_setting"] is not None and float(confidence) < float(c["condition_setting"]): + r.append({ + "message": f"The field [{field_name}] confidence score {confidence} is lower than the threshold {c['condition_setting']}", + "field_name": field_name, + "field_value": field_value, + "condition_type": str(c["condition_type"]), + "condition_setting": condition_setting, + "condition_category":c["condition_category"], + "block": block + }) + elif field_value is not None and c["condition_type"] == "ValueRegex" and condition_setting is not None \ + and re.search(condition_setting, str(field_value)) is None: + r.append({ + "message": f"{c['description']}", + "field_name": field_name, + "field_value": field_value, + "condition_type": str(c["condition_type"]), + "condition_setting": condition_setting, + "condition_category":c["condition_category"], + "block": block + }) + + # field has condition defined and sastified + s.append( + { + "message": f"{c['description']}", + "field_name": field_name, + "field_value": field_value, + "condition_type": str(c["condition_type"]), + "condition_setting": condition_setting, + "condition_category":c["condition_category"], + "block": block + }) + + return r, s + + def check_all(self): + if self._data is None or self._conditions is None: + return None + + broken_conditions = [] + satisfied_conditions = [] + for key, obj in self._data.items(): + value = None + if obj is not None: + value = obj.get("value") + + if value is not None and type(value)==str: + value = value.replace(' ','') + + r, s = self.check(key, obj) + if r and len(r) > 0: + broken_conditions += r + if s and len(s) > 0: + satisfied_conditions += s + + + # apply index + idx = 0 + for r in broken_conditions: + idx += 1 + r["index"] = idx + return broken_conditions, satisfied_conditions \ No newline at end of file diff --git a/dist/idp-deploy.yaml b/dist/idp-deploy.yaml index 25ec5aa..795a67a 100644 --- a/dist/idp-deploy.yaml +++ b/dist/idp-deploy.yaml @@ -106,10 +106,18 @@ Resources: - textract:GetDocumentTextDetection - textract:GetDocumentAnalysis - textract:AnalyzeDocument + - textract:AnalyzeID + - textract:AnalyzeExpense - textract:DetectDocumentText - textract:StartDocumentAnalysis - textract:StartDocumentTextDetection - comprehend:DetectEntities + - comprehend:DetectPiiEntities + - comprehend:ContainsPiiEntities + - comprehend:DescribePiiEntitiesDetectionJob + - comprehend:ListPiiEntitiesDetectionJobs + - comprehend:StartPiiEntitiesDetectionJob + - comprehend:StopPiiEntitiesDetectionJob - comprehend:StartEntitiesDetectionJob - comprehend:ClassifyDocument - comprehend:DescribeDocumentClassificationJob diff --git a/images/.DS_Store b/images/.DS_Store deleted file mode 100644 index 5008ddf..0000000 Binary files a/images/.DS_Store and /dev/null differ diff --git a/images/a2i-custom-rule.png b/images/a2i-custom-rule.png new file mode 100644 index 0000000..bdbb183 Binary files /dev/null and b/images/a2i-custom-rule.png differ diff --git a/images/a2i-custom-ui.png b/images/a2i-custom-ui.png new file mode 100644 index 0000000..c2d7e38 Binary files /dev/null and b/images/a2i-custom-ui.png differ diff --git a/images/a2i-page1-data-model-mapping.png b/images/a2i-page1-data-model-mapping.png new file mode 100644 index 0000000..cca56c8 Binary files /dev/null and b/images/a2i-page1-data-model-mapping.png differ diff --git a/images/a2i-quicksight-dashboard.png b/images/a2i-quicksight-dashboard.png new file mode 100644 index 0000000..388e595 Binary files /dev/null and b/images/a2i-quicksight-dashboard.png differ diff --git a/images/a2i-quicksight-dataset.gif b/images/a2i-quicksight-dataset.gif new file mode 100644 index 0000000..7dae1df Binary files /dev/null and b/images/a2i-quicksight-dataset.gif differ diff --git a/images/a2i-quicksight-init.gif b/images/a2i-quicksight-init.gif new file mode 100644 index 0000000..c5426b3 Binary files /dev/null and b/images/a2i-quicksight-init.gif differ diff --git a/images/a2i-quicksight-publish.gif b/images/a2i-quicksight-publish.gif new file mode 100644 index 0000000..f192408 Binary files /dev/null and b/images/a2i-quicksight-publish.gif differ diff --git a/images/a2i-quicksight-visual-histogram.gif b/images/a2i-quicksight-visual-histogram.gif new file mode 100644 index 0000000..0b31a1e Binary files /dev/null and b/images/a2i-quicksight-visual-histogram.gif differ diff --git a/images/a2i-quicksight-visual-pie.gif b/images/a2i-quicksight-visual-pie.gif new file mode 100644 index 0000000..884bce4 Binary files /dev/null and b/images/a2i-quicksight-visual-pie.gif differ diff --git a/images/a2i-quicksight-visual-wordcloud.gif b/images/a2i-quicksight-visual-wordcloud.gif new file mode 100644 index 0000000..54f0013 Binary files /dev/null and b/images/a2i-quicksight-visual-wordcloud.gif differ diff --git a/industry/mortgage/01-document-classification.ipynb b/industry/mortgage/01-document-classification.ipynb new file mode 100644 index 0000000..3175c1f --- /dev/null +++ b/industry/mortgage/01-document-classification.ipynb @@ -0,0 +1,427 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Mortgage Document Classification\n", + "\n", + "---\n", + "\n", + "## Setup Notebook\n", + "\n", + "In this notebook, we are going to train an Amazon Comprehend custom classifier, and deploy it behind an endpoint. We will then use the end-point to test document classification. Let's install and import some libraries that are going to be required." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!python -m pip install -q amazon-textract-response-parser --upgrade --force-reinstall\n", + "!python -m pip install -q amazon-textract-caller --upgrade --force-reinstall\n", + "!python -m pip install -q amazon-textract-prettyprinter --upgrade --force-reinstall" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from textractcaller.t_call import call_textract, Textract_Features\n", + "from textractprettyprinter.t_pretty_print import Textract_Pretty_Print, get_string\n", + "from trp import Document" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import boto3\n", + "import botocore\n", + "import sagemaker\n", + "import os\n", + "import io\n", + "import datetime\n", + "import pandas as pd\n", + "from PIL import Image\n", + "from pathlib import Path\n", + "import multiprocessing as mp\n", + "from sagemaker import get_execution_role\n", + "from IPython.display import Image, display, HTML, JSON\n", + "\n", + "# variables\n", + "data_bucket = sagemaker.Session().default_bucket()\n", + "region = boto3.session.Session().region_name\n", + "account_id = boto3.client('sts').get_caller_identity().get('Account')\n", + "\n", + "os.environ[\"BUCKET\"] = data_bucket\n", + "os.environ[\"REGION\"] = region\n", + "role = sagemaker.get_execution_role()\n", + "\n", + "print(f\"SageMaker role is: {role}\\nDefault SageMaker Bucket: s3://{data_bucket}\")\n", + "\n", + "s3=boto3.client('s3')\n", + "textract = boto3.client('textract', region_name=region)\n", + "comprehend=boto3.client('comprehend', region_name=region)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "## Amazon Comprehend Custom Classification\n", + "\n", + "At the beginning of our document processing stage, it may not be obvious as do which documents are present in the mortgage packet. Using Amazon Comprehend custom classifier we will first identify these documents into their respective classes. Once we know which documents are present in the packet, we can run any kind of validation such as look for missing/required documents, extract specific document in a specific way such as ID documents and so on. The figure below explains this process.\n", + "\n", + "

\n", + " \"cfn1\"\n", + "

\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## Data preparation\n", + "\n", + "In order to train an Amazon Comprehend [custom classifier](https://docs.aws.amazon.com/comprehend/latest/dg/how-document-classification.html), we will need data in UTF-8 (plaintext) format. We are going to train the classifier model in \"[Multi class](https://docs.aws.amazon.com/comprehend/latest/dg/prep-classifier-data-multi-class.html)\" mode by providing it a CSV file with labeled data. \n", + "\n", + "The csv file must contain data in the following format\n", + "\n", + "```\n", + "label, document\n", + "```\n", + "\n", + "Where `label` is the document for example `PAYSTUB`, `W2`, `1099-DIV` and so on, and the document is the plaintext data extracted from each document. Since are documents are either image files or PDF files, we will use Amazon Textract `DetectDocumentText` API to get the text out of these documents and then prepare a CSV file. \n", + "\n", + "For example, in the code cell below we pick the W2 document and get the plain text out of it to create a comma separated output where the first field is the document lable i.e. `w2` and the second field is the text from the document itself extracted by Amazon Textract" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "response = call_textract(input_document=f'docs/W2.jpg') \n", + "# using pretty printer to get all the lines\n", + "lines = get_string(textract_json=response, output_type=[Textract_Pretty_Print.LINES])\n", + "row = []\n", + "row.append('w2')\n", + "row.append(lines)\n", + "\n", + "row" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The code cell example above is a single line of CSV for W2 type of document. Since, Comprehend classification model training requires a minimum of 10 sample documents per class to be able to train the model, you will repeat this process for the remaining of W2 sample documents to generate a CSV file with 10 lines. You will then repeat the process for all the other document classes to generate the corresponding CSV data for the documents.\n", + "\n", + "For the purposes of this lab, we have provided a csv file ready to be used to train the model. The CSV file contains 10 or more samples for each of the document types that we want to train the model with." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "comprehend_df = pd.read_csv('data/comp_class_training_data.csv', sep=\",\", names=['label','document'])\n", + "comprehend_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's upload this training data CSV file into our S3 bucket" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Upload data to S3 bucket:\n", + "!aws s3 cp data/comp_class_training_data.csv s3://{data_bucket}/idp-mortgage/comprehend/comp_class_training_data.csv" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## Create Comprehend classifier training job\n", + "\n", + "We will now initiate an Amazon Comprehend custom classifier training job with the training data. Note that the training job may take up to 30 minutes to complete." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import datetime\n", + "\n", + "# Create a document classifier\n", + "account_id = boto3.client('sts').get_caller_identity().get('Account')\n", + "id = str(datetime.datetime.now().strftime(\"%s\"))\n", + "\n", + "document_classifier_name = 'Mortgage-Demo-Doc-Classifier'\n", + "document_classifier_version = 'v1'\n", + "document_classifier_arn = ''\n", + "response = None\n", + "\n", + "try:\n", + " create_response = comprehend.create_document_classifier(\n", + " InputDataConfig={\n", + " 'DataFormat': 'COMPREHEND_CSV',\n", + " 'S3Uri': f's3://{data_bucket}/idp-mortgage/comprehend/comp_class_training_data.csv'\n", + " },\n", + " DataAccessRoleArn=role,\n", + " DocumentClassifierName=document_classifier_name,\n", + " VersionName=document_classifier_version,\n", + " LanguageCode='en',\n", + " Mode='MULTI_CLASS'\n", + " )\n", + " \n", + " document_classifier_arn = create_response['DocumentClassifierArn']\n", + " \n", + " print(f\"Comprehend Custom Classifier created with ARN: {document_classifier_arn}\")\n", + "except Exception as error:\n", + " if error.response['Error']['Code'] == 'ResourceInUseException':\n", + " print(f'A classifier with the name \"{document_classifier_name}\" already exists.')\n", + " document_classifier_arn = f'arn:aws:comprehend:{region}:{account_id}:document-classifier/{document_classifier_name}/version/{document_classifier_version}'\n", + " print(f'The classifier ARN is: \"{document_classifier_arn}\"')\n", + " else:\n", + " print(error)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Monitor training status of the training job\n", + "\n", + "Run the code cell below to monitor the status of the training job." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%time\n", + "# Loop through and wait for the training to complete . Takes up to 10 mins \n", + "from IPython.display import clear_output\n", + "import time\n", + "\n", + "jobArn = create_response['DocumentClassifierArn']\n", + "\n", + "max_time = time.time() + 3*60*60 # 3 hours\n", + "while time.time() < max_time:\n", + " now = datetime.datetime.now()\n", + " current_time = now.strftime(\"%H:%M:%S\")\n", + " describe_custom_classifier = comprehend.describe_document_classifier(\n", + " DocumentClassifierArn = jobArn\n", + " )\n", + " status = describe_custom_classifier[\"DocumentClassifierProperties\"][\"Status\"]\n", + " clear_output(wait=True)\n", + " print(f\"{current_time} : Custom document classifier: {status}\")\n", + " \n", + " if status == \"TRAINED\" or status == \"IN_ERROR\":\n", + " break\n", + " \n", + " time.sleep(60)\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## Deploy model to endpoint\n", + "\n", + "Once the classifier training job is complete, we can deploy the trained model to an Amazon Comprehend [real time endpoint](https://docs.aws.amazon.com/comprehend/latest/dg/manage-endpoints.html). We can then call this endpoint with documents to identify which category the document belongs to.\n", + "\n", + "Run the following code cell to deploy an end-point with the trained model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#create comprehend endpoint\n", + "model_arn = document_classifier_arn\n", + "ep_name = 'mortgage-doc-endpoint'\n", + "\n", + "try:\n", + " endpoint_response = comprehend.create_endpoint(\n", + " EndpointName=ep_name,\n", + " ModelArn=model_arn,\n", + " DesiredInferenceUnits=1, \n", + " DataAccessRoleArn=role\n", + " )\n", + " ENDPOINT_ARN=endpoint_response['EndpointArn']\n", + " print(f'Endpoint created with ARN: {ENDPOINT_ARN}') \n", + "except Exception as error:\n", + " if error.response['Error']['Code'] == 'ResourceInUseException':\n", + " print(f'An endpoint with the name \"{ep_name}\" already exists.')\n", + " ENDPOINT_ARN = f'arn:aws:comprehend:{region}:{account_id}:document-classifier-endpoint/{ep_name}'\n", + " print(f'The classifier endpoint ARN is: \"{ENDPOINT_ARN}\"')\n", + " %store ENDPOINT_ARN\n", + " else:\n", + " print(error)\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Monitor the status of endpoint deployment\n", + "\n", + "Run the code cell below to monitor the status of the endpoint deployment." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%time\n", + "# Loop through and wait for the training to complete . Takes up to 10 mins \n", + "from IPython.display import clear_output\n", + "import time\n", + "from datetime import datetime\n", + "\n", + "ep_arn = endpoint_response[\"EndpointArn\"]\n", + "\n", + "max_time = time.time() + 3*60*60 # 3 hours\n", + "while time.time() < max_time:\n", + " now = datetime.now()\n", + " current_time = now.strftime(\"%H:%M:%S\")\n", + " describe_endpoint_resp = comprehend.describe_endpoint(\n", + " EndpointArn=ep_arn\n", + " )\n", + " status = describe_endpoint_resp[\"EndpointProperties\"][\"Status\"]\n", + " clear_output(wait=True)\n", + " print(f\"{current_time} : Custom document classifier: {status}\")\n", + " \n", + " if status == \"IN_SERVICE\" or status == \"FAILED\":\n", + " break\n", + " \n", + " time.sleep(10)\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## Classifying Documents\n", + "\n", + "Once our model is deployed with an endpoint, it's time to test it. We will pick a random document from our `/docs` directory and call the endpoint and analyze the comprehend classifier output." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We must extract the text from this document using textract and then use the extracted text to call the Comprehend classifier." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "#extract text using Amazon Textract\n", + "response = call_textract(input_document='./docs/1099-DIV.jpg')\n", + "text = get_string(textract_json=response, output_type=[Textract_Pretty_Print.LINES])\n", + "print(text)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#Classify document using the extracted text\n", + "classification_response = comprehend.classify_document(Text= text, EndpointArn=ENDPOINT_ARN)\n", + "classification_response" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The classifier has correctly identified the document as a 1099-DIV document." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "# Conclusion\n", + "\n", + "In this notebook, we saw how we can train an Amazon Comprehend custom classifier with sample documents. We then deployed the trained model with an endpoint. We then extracted text from a document that we wanted to classify and then used the plain text extracted from it to call the comprehend classifier endpoint which gave us a JSON out put with all the classes and the probability of which class being the correct class for this document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "instance_type": "ml.t3.medium", + "kernelspec": { + "display_name": "Python 3 (Data Science)", + "language": "python", + "name": "python3__SAGEMAKER_INTERNAL__arn:aws:sagemaker:us-east-2:429704687514:image/datascience-1.0" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/industry/mortgage/02-document-extraction-1.ipynb b/industry/mortgage/02-document-extraction-1.ipynb new file mode 100644 index 0000000..62b78dd --- /dev/null +++ b/industry/mortgage/02-document-extraction-1.ipynb @@ -0,0 +1,1640 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Mortgage Document Extraction\n", + "\n", + "---\n", + "\n", + "At this point we have identified the documents, and we can now start extracting information from them. What we want to extract information from each document will depend on the type of document as depicted in the figure below.\n", + "\n", + "

\n", + " \"cfn1\"\n", + "

\n", + "\n", + "We will be extracting information from the following documents-\n", + "\n", + "- [Unified Residential Loan Application (URLA1003) form](#step1)\n", + "- [Paystub](#step2)\n", + "- [W2 form](#step3)\n", + "- [Bank statement](#step4)\n", + "- [Credit card statement](#step5)\n", + "- [Mortgage Note](#step6)\n", + "- [Passport](#step7)\n", + "- [1099 INT form](#step8)\n", + "- [1099 DIV form](#step9)\n", + "- [1099 MISC form](#step10)\n", + "- [1099 R form](#step11)\n", + "- [Employment verification letter](#step12)\n", + "- [Mortgage Statement](#step13)\n", + "\n", + "---\n", + "\n", + "## Setup Notebook\n", + "\n", + "We will be using the [Amazon Textract Parser Library](https://github.com/aws-samples/amazon-textract-response-parser/tree/master/src-python) for parsing through the Textract response, data science library [Pandas](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) for content analysis, the [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/), and [AWS boto3 python sdk](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) to work with Amazon Textract and Amazon A2I. Let's now install and import them." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "!python -m pip install -q amazon-textract-response-parser --upgrade --force-reinstall\n", + "!python -m pip install -q amazon-textract-caller --upgrade --force-reinstall\n", + "!python -m pip install -q amazon-textract-prettyprinter --upgrade --force-reinstall" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "import boto3\n", + "import botocore\n", + "import sagemaker\n", + "import os\n", + "import io\n", + "import datetime\n", + "import json\n", + "import pandas as pd\n", + "from PIL import Image as PImage, ImageDraw\n", + "from pathlib import Path\n", + "import multiprocessing as mp\n", + "from IPython.display import Image, display, HTML, JSON, IFrame\n", + "from trp import Document\n", + "from textractcaller.t_call import call_textract, Textract_Features\n", + "from textractprettyprinter.t_pretty_print import Textract_Pretty_Print, get_string, Pretty_Print_Table_Format\n", + "from trp.trp2 import TDocument\n", + "\n", + "# variables\n", + "data_bucket = sagemaker.Session().default_bucket()\n", + "region = boto3.session.Session().region_name\n", + "account_id = boto3.client('sts').get_caller_identity().get('Account')\n", + "\n", + "os.environ[\"BUCKET\"] = data_bucket\n", + "os.environ[\"REGION\"] = region\n", + "role = sagemaker.get_execution_role()\n", + "\n", + "print(f\"SageMaker role is: {role}\\nDefault SageMaker Bucket: s3://{data_bucket}\")\n", + "\n", + "s3=boto3.client('s3')\n", + "textract = boto3.client('textract', region_name=region)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "# Upload all documents to S3\n", + "\n", + "We will upload all of our mortgage related documents (present in the `/docs` directory) to Amazon S3 Bucket. Note that documents will be uploaded into SageMaker's default S3 bucket. If you wish to use a different bucket please make sure you update the bucket name in `data_bucket` variable and also ensure that SageMaker has permissions to the S3 bucket." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Upload images to S3 bucket:\n", + "!aws s3 cp docs s3://{data_bucket}/idp-mortgage/textract --recursive --only-show-errors" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Verify that the document's have been uploaded to S3." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!aws s3 ls s3://{data_bucket}/idp-mortgage/textract/" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "# Extracting information from documents\n", + "\n", + "We will extract the information out of each of the Mortgage documents that are available in the S3 bucket. We will use Amazon Textract's [Analyze Document](https://docs.aws.amazon.com/textract/latest/dg/analyzing-document-text.html) API to extract FORMS, TABLES, and QUERIES out of the documents. However, in some cases (for example; for the passport document) we will use a specific Amazon Textract API called the [AnalyzeID](https://docs.aws.amazon.com/textract/latest/dg/analyzing-document-identity.html) API." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## 1. URLA-1003 (Uniform Residential Loan Application) \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "documentName = \"docs/URLA-1003.pdf\"\n", + "display(IFrame(documentName, 500, 600));" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response_urla_1003 = call_textract(input_document=f's3://{data_bucket}/idp-mortgage/textract/URLA-1003.pdf', \n", + " features=[Textract_Features.TABLES, Textract_Features.FORMS])\n", + "doc_urla_1003 = Document(response_urla_1003)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Printing the content of the doc in Line and Word Format\n", + "\n", + "In this section, we will extract the lines and words that appear in the document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Iterate over elements in the document\n", + "for page in doc_urla_1003.pages: \n", + " # Print lines and words\n", + " for line in page.lines:\n", + " print(f\"Line├── {line.text}\")\n", + " for word in line.words:\n", + " print(f\"\\tWord└── {word.text}\")\n", + " print('\\n────────────────────────────\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get form info (key-value) pairs from the response\n", + "\n", + "In the previous section, note that the output is plain text and doesn't necessarily have information on whether they appear in a form or a table. In this section we will get the form data in the document in key-value pair format." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for page in doc_urla_1003.pages:\n", + " forms=[]\n", + " for field in page.form.fields:\n", + " obj={}\n", + " obj[f'{field.key}']=f'{field.value}'\n", + " forms.append(obj)\n", + "\n", + "display(JSON(forms, root='Form Key-values', expanded=True))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "num_tables=1\n", + "for page in doc_urla_1003.pages:\n", + " # Print tables\n", + " for table in page.tables:\n", + " print(f\"Table {num_tables}\")\n", + " print(\"-------------------\")\n", + " num_tables=num_tables+1\n", + " for r, row in enumerate(table.rows):\n", + " for c, cell in enumerate(row.cells):\n", + " print(f\"Cell[{r}][{c}] = {cell.text}\")\n", + " print('\\n────────────────────────────\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There are no tables detected in this document." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## 2. Paystub \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "documentName = \"docs/Paystub.jpg\"\n", + "display(Image(filename=documentName, width=500))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response_paystub = call_textract(input_document=f's3://{data_bucket}/idp-mortgage/textract/Paystub.jpg', \n", + " features=[Textract_Features.TABLES, Textract_Features.FORMS])\n", + "doc_paystub = Document(response_paystub)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Printing the content of the doc in Line and Word Format\n", + "\n", + "In this section, we will extract the lines and words that appear in the document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Iterate over elements in the document\n", + "for page in doc_paystub.pages:\n", + " # Print lines and words\n", + " for line in page.lines:\n", + " print(f\"Line├── {line.text}\")\n", + " for word in line.words:\n", + " print(f\"\\tWord└── {word.text}\")\n", + " print('\\n────────────────────────────\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get form info (key-value) pairs from the response\n", + "\n", + "In the previous section, note that the output is plain text and doesn't necessarily have information on whether they appear in a form or a table. In this section we will get the form data in the document in key-value pair format." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for page in doc_paystub.pages:\n", + " forms=[]\n", + " for field in page.form.fields:\n", + " obj={}\n", + " obj[f'{field.key}']=f'{field.value}'\n", + " forms.append(obj)\n", + "\n", + "display(JSON(forms, root='Form Key-values', expanded=True))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get Table info from the response" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "num_tables=1\n", + "for page in doc_paystub.pages:\n", + " # Print tables\n", + " for table in page.tables:\n", + " print(f\"Table {num_tables}\")\n", + " print('────────────────────────────')\n", + " num_tables=num_tables+1\n", + " for r, row in enumerate(table.rows):\n", + " for c, cell in enumerate(row.cells):\n", + " print(f\"Cell[{r}][{c}] = {cell.text}\")\n", + " print('\\n')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(get_string(textract_json=response_paystub, table_format=Pretty_Print_Table_Format.grid, output_type=[Textract_Pretty_Print.TABLES]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## 3. W2 Form " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "documentName = \"docs/W2.jpg\"\n", + "display(Image(filename=documentName, width=500))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response_w2 = call_textract(input_document=f's3://{data_bucket}/idp-mortgage/textract/W2.jpg', \n", + " features=[Textract_Features.TABLES, Textract_Features.FORMS])\n", + "doc_w2 = Document(response_w2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Printing the content of the doc in Line and Word Format\n", + "\n", + "In this section, we will extract the lines and words that appear in the document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Iterate over elements in the document\n", + "for page in doc_w2.pages: \n", + " # Print lines and words\n", + " for line in page.lines:\n", + " print(f\"Line├── {line.text}\")\n", + " for word in line.words:\n", + " print(f\"\\tWord└── {word.text}\")\n", + " print('\\n────────────────────────────\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get form info (key-value) pairs from the response\n", + "\n", + "In the previous section, note that the output is plain text and doesn't necessarily have information on whether they appear in a form or a table. In this section we will get the form data in the document in key-value pair format." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for page in doc_w2.pages:\n", + " forms=[]\n", + " for field in page.form.fields:\n", + " obj={}\n", + " obj[f'{field.key}']=f'{field.value}'\n", + " forms.append(obj)\n", + "\n", + "display(JSON(forms, root='Form Key-values', expanded=True))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## 4. Bank Statement " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "documentName = \"docs/Bank-Statement.jpg\"\n", + "display(Image(filename=documentName, width=500))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response_bank_stmt = call_textract(input_document=f's3://{data_bucket}/idp-mortgage/textract/Bank-Statement.jpg', \n", + " features=[Textract_Features.TABLES, Textract_Features.FORMS])\n", + "doc_bank_stmt = Document(response_bank_stmt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Printing the content of the doc in Line and Word Format\n", + "\n", + "In this section, we will extract the lines and words that appear in the document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Iterate over elements in the document\n", + "for page in doc_bank_stmt.pages:\n", + " # Print lines and words\n", + " for line in page.lines:\n", + " print(f\"Line├── {line.text}\")\n", + " for word in line.words:\n", + " print(f\"\\tWord└── {word.text}\")\n", + " print('\\n────────────────────────────\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get form info (key-value) pairs from the response\n", + "\n", + "In the previous section, note that the output is plain text and doesn't necessarily have information on whether they appear in a form or a table. In this section we will get the form data in the document in key-value pair format." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for page in doc_bank_stmt.pages:\n", + " forms=[]\n", + " for field in page.form.fields:\n", + " obj={}\n", + " obj[f'{field.key}']=f'{field.value}'\n", + " forms.append(obj)\n", + "\n", + "display(JSON(forms, root='Form Key-values', expanded=True))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "num_tables=1\n", + "for page in doc_bank_stmt.pages:\n", + " # Print tables\n", + " for table in page.tables:\n", + " print(f\"Table {num_tables}\")\n", + " print('────────────────────────────')\n", + " num_tables=num_tables+1\n", + " for r, row in enumerate(table.rows):\n", + " for c, cell in enumerate(row.cells):\n", + " print(f\"Cell[{r}][{c}] = {cell.text}\")\n", + " print('\\n')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(get_string(textract_json=response_bank_stmt, table_format=Pretty_Print_Table_Format.grid, output_type=[Textract_Pretty_Print.TABLES]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "## 5. Credit Card Statement " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Document\n", + "documentName = \"docs/credit-card-stmt.pdf\"\n", + "display(IFrame(documentName, 500, 600));" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response_cc = call_textract(input_document=f's3://{data_bucket}/idp-mortgage/textract/credit-card-stmt.pdf', \n", + " features=[Textract_Features.TABLES, Textract_Features.FORMS])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's look at the raw JSON response response returned by Amazon Textract." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "print(json.dumps(response_cc, indent=4))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can parse this raw JSON using simple logic. However, to make it easier to parse and get the information out of the JSON response we will use Textract response parser library. Library parses JSON and provides programming language specific constructs to work with different parts of the document. For more details please refer to the [Amazon Textract Parser Library](https://github.com/aws-samples/amazon-textract-response-parser/tree/master/src-python). In order to do that we will use the `Document` wrapper which makes it easy for us to write logic." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "doc_cc = Document(response_cc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Printing the content of the doc in Line and Word Format\n", + "\n", + "In this section, we will extract the lines and words that appear in the document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "doc_cc = Document(response_cc)\n", + "\n", + "# Iterate over elements in the document\n", + "for page in doc_cc.pages:\n", + " # Print lines and words\n", + " for line in page.lines:\n", + " print(f\"Line├── {line.text}\")\n", + " for word in line.words:\n", + " print(f\"\\tWord└── {word.text}\")\n", + " print('\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get form info (key-value) pairs from the response\n", + "\n", + "In the previous section, note that the output is plain text and doesn't necessarily have information on whether they appear in a form or a table. In this section we will get the form data in the document in key-value pair format." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for page in doc_cc.pages:\n", + " # Print fields\n", + " forms=[]\n", + " for field in page.form.fields:\n", + " obj={}\n", + " obj[f'{field.key}']=f'{field.value}'\n", + " forms.append(obj)\n", + "\n", + "display(JSON(forms, root='Form Key-values', expanded=True))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get Tables from the response\n", + "\n", + "We will now get all the table data that appear in the table. We will first see how the raw data per cell of every table looks like" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "num_tables=1\n", + "for page in doc_cc.pages:\n", + " # Print tables\n", + " for table in page.tables:\n", + " print(f\"Table {num_tables}\")\n", + " print(\"-------------------\")\n", + " num_tables=num_tables+1\n", + " for r, row in enumerate(table.rows):\n", + " for c, cell in enumerate(row.cells):\n", + " print(f\"Cell[{r}][{c}] = {cell.text}\")\n", + " print('\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Tables with Confidence Score" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Print tables\n", + "num_tables=1\n", + "for table in page.tables:\n", + " print(f\"Table {num_tables}\")\n", + " print(\"-------------------\")\n", + " for r, row in enumerate(table.rows):\n", + " for c, cell in enumerate(row.cells):\n", + " print(f\"Cell[{r}][{c}] : Text: {cell.text} , Confidence: {round(cell.confidence,2)}%\")\n", + " print('\\n') \n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Printing the Table using Prettyprinter library\n", + "\n", + "We can use the amazon-textract-textractor library's [prettyprinter](https://github.com/aws-samples/amazon-textract-textractor/tree/master/prettyprinter) tool we can get the table data in various easy to consume and read format such as CSV, Grid etc." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "print(get_string(textract_json=response_cc, \n", + " table_format=Pretty_Print_Table_Format.grid, \n", + " output_type=[Textract_Pretty_Print.TABLES]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The code above displays all the tables that exist in that document. However, we are only interested in one particular table, i.e. the table that contains all the credit card transactions. Here's a way to specifically pick that table and display it in a Pandas dataframe format. We will use a utility function called `convert_table_to_list` for this." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from textractprettyprinter.t_pretty_print import convert_table_to_list\n", + "\n", + "dfs = list()\n", + "\n", + "for page in doc_cc.pages:\n", + " for table in page.tables:\n", + " dfs.append(pd.DataFrame(convert_table_to_list(trp_table=table)))\n", + " \n", + "# Only the third table i.e. the table at index 2 considering index starts at 0\n", + "cc_transactions = dfs[2]\n", + "# Make the first row as column headers for the dataframe\n", + "cc_transactions.columns = cc_transactions.iloc[0]\n", + "#drop the first row since it's the column header\n", + "cc_transactions = cc_transactions.drop(cc_transactions.index[0]) \n", + "\n", + "#display the dataframe\n", + "cc_transactions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## 6. Mortgage Note - _Amazon Textract Queries example_ " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "documentName = \"docs/Mortgage-Note.pdf\"\n", + "display(IFrame(documentName, 500, 600));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A we can see the mortgage note is a document containing dense text. In this case we are interested in finding out a few key information from the entire document. Instead of extracting all the text from the document, and then apply logic (for example: regular expression) to find out that information, we will use Amazon Textract queries feature to grab the infromation from the document. \n", + "\n", + "Specifically, the information we are looking for are-\n", + "\n", + "1. The Lender name\n", + "2. The principal ammount the borrower has to pay\n", + "3. The yearly interest rate.\n", + "4. Monthly payment amount.\n", + "\n", + "We will craft questions in plain english language for the Textract API and pass it to the API call to get the information. Queries are-\n", + "\n", + "1. Who is the Lender?\n", + "2. What is the principal amount borrower has to pay?\n", + "3. What is the yearly interest rate?\n", + "4. What is the monthly payment amount?\n", + "\n", + "Also, we can see that all of this information is available in the first page of this multi-page document so we don't need the AI to look through all the pages to find this info. We will pass the page number when making the API call. Note: If the page number is not known then the `pages` parameter can be assigned a wild-card value of `\"*\"`, in which case Amazon Textract will look for answers in all pages of the document. Page ranging, for example to look for answers starting at page 3 to the last page the expression can be `\"3-*\"`, or from page 3 to 6 the expression can be `\"3-6\"`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from textractcaller import QueriesConfig, Query\n", + "\n", + "# Setup the queries\n", + "query1 = Query(text=\"Who is the Lender?\" , alias=\"LENDER_NAME\", pages=[\"1\"])\n", + "query2 = Query(text=\"What is the principal amount borrower has to pay?\", alias=\"PRINCIPAL_AMOUNT\", pages=[\"1\"])\n", + "query3 = Query(text=\"What is the yearly interest rate?\", alias=\"INTEREST_RATE\", pages=[\"1\"])\n", + "query4 = Query(text=\"What is the monthly payment amount?\", alias=\"MONTHLY_AMOUNT\", pages=[\"1\"])\n", + "\n", + "#Setup the query config with the above queries\n", + "queries_config = QueriesConfig(queries=[query1, query2, query3, query4])\n", + "\n", + "response_mortgage_note = call_textract(input_document=f's3://{data_bucket}/idp-mortgage/textract/Mortgage-Note.pdf',\n", + " features=[Textract_Features.QUERIES],\n", + " queries_config=queries_config)\n", + "doc_mortgage_note = Document(response_mortgage_note)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import trp.trp2 as t2\n", + "doc_mortgage_note: t2.TDocumentSchema = t2.TDocumentSchema().load(response_mortgage_note) \n", + " \n", + "entities = {}\n", + "for page in doc_mortgage_note.pages:\n", + " query_answers = doc_mortgage_note.get_query_answers(page=page)\n", + " if query_answers:\n", + " for answer in query_answers:\n", + " entities[answer[1]] = answer[2]\n", + " \n", + "display(JSON(entities, root='Query Answers'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## 7. Passport (ID Document) \n", + "\n", + "Passport is a special document, i.e. an Identity document. To extract infromation from US passports and driver's license, Amazon Textract's [AnalyzeID](https://docs.aws.amazon.com/textract/latest/dg/analyzing-document-identity.html) API can be used." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "documentName = \"docs/Passport.pdf\"\n", + "display(IFrame(documentName, 500, 600));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will use the `call_textract_analyzeid` tool from the amazon-textract-textractor library." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from textractcaller import call_textract_analyzeid\n", + "import trp.trp2_analyzeid as t2id\n", + "\n", + "response_passport = call_textract_analyzeid(document_pages=[f's3://{data_bucket}/idp-mortgage/textract/Passport.pdf'])\n", + "doc_passport: t2id.TAnalyzeIdDocument = t2id.TAnalyzeIdDocumentSchema().load(response_passport)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for id_docs in response_passport['IdentityDocuments']:\n", + " id_doc_kvs={}\n", + " for field in id_docs['IdentityDocumentFields']:\n", + " id_doc_kvs[field['Type']['Text']] = field['ValueDetection']['Text']\n", + "\n", + "display(JSON(id_doc_kvs, root='ID Document Key-values', expanded=True))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "## 8. Extracting 1099-INT Form \n", + "\n", + "Let's now extract data out of the 1099-INT form. Form 1099-INT is a tax form issued by interest-paying entities, such as banks, investment firms, and other financial institutions, to taxpayers who receive interest income of $10 or more. The information recorded on the form must be reported to the IRS. 1099-INT form is often included in mortgage application packet by property buyers/mortgage applicants to validate their sources of income as reflected in their bank statements." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "documentName = \"docs/1099-INT-2018.pdf\"\n", + "display(IFrame(documentName, 500, 600));" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response_1099_int = call_textract(input_document=f's3://{data_bucket}/idp-mortgage/textract/1099-INT-2018.pdf', \n", + " features=[Textract_Features.TABLES, Textract_Features.FORMS])\n", + "doc_1099_int = Document(response_1099_int)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Printing the content of the doc in Line and Word Format\n", + "\n", + "In this section, we will extract the lines and words that appear in the document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Iterate over elements in the document\n", + "for page in doc_1099_int.pages:\n", + " # Print lines and words\n", + " for line in page.lines:\n", + " print(f\"Line├── {line.text}\")\n", + " for word in line.words:\n", + " print(f\"\\tWord└── {word.text}\")\n", + " \n", + " print('\\n────────────────────────────\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get form info (key-value) pairs from the response\n", + "\n", + "In the previous section, note that the output is plain text and doesn't necessarily have information on whether they appear in a form or a table. In this section we will get the form data in the document in key-value pair format." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for page in doc_1099_int.pages:\n", + " forms=[]\n", + " for field in page.form.fields:\n", + " obj={}\n", + " obj[f'{field.key}']=f'{field.value}'\n", + " forms.append(obj)\n", + "\n", + "display(JSON(forms, root='Form Key-values', expanded=True))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "num_tables=1\n", + "for page in doc_1099_int.pages:\n", + " # Print tables\n", + " for table in page.tables:\n", + " print(f\"Table {num_tables}\")\n", + " print(\"-------------------\")\n", + " num_tables=num_tables+1\n", + " for r, row in enumerate(table.rows):\n", + " for c, cell in enumerate(row.cells):\n", + " print(f\"Cell[{r}][{c}] = {cell.text}\")\n", + " print('\\n')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(get_string(textract_json=response_1099_int, table_format=Pretty_Print_Table_Format.grid, output_type=[Textract_Pretty_Print.TABLES]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## 9. Extracting 1099-DIV Form " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "documentName = \"docs/1099-DIV.jpg\"\n", + "display(Image(filename=documentName, width=500))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response_1099_div = call_textract(input_document=f's3://{data_bucket}/idp-mortgage/textract/1099-DIV.jpg', \n", + " features=[Textract_Features.TABLES, Textract_Features.FORMS])\n", + "doc_1099_div = Document(response_1099_div)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Iterate over elements in the document\n", + "for page in doc_1099_div.pages:\n", + " # Print lines and words\n", + " for line in page.lines:\n", + " print(f\"Line├── {line.text}\")\n", + " for word in line.words:\n", + " print(f\"\\tWord└── {word.text}\")\n", + " print('\\n────────────────────────────\\n')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for page in doc_1099_div.pages:\n", + " forms=[]\n", + " for field in page.form.fields:\n", + " obj={}\n", + " obj[f'{field.key}']=f'{field.value}'\n", + " forms.append(obj)\n", + "\n", + "display(JSON(forms, root='Form Key-values', expanded=True))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "num_tables=1\n", + "for page in doc_1099_div.pages:\n", + " # Print tables\n", + " for table in page.tables:\n", + " print(f\"Table {num_tables}\")\n", + " print('────────────────────────────────────────────────────────────')\n", + " num_tables=num_tables+1\n", + " for r, row in enumerate(table.rows):\n", + " for c, cell in enumerate(row.cells):\n", + " print(f\"Cell[{r}][{c}] = {cell.text}\")\n", + " print('\\n')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "print(get_string(textract_json=response_1099_div, table_format=Pretty_Print_Table_Format.grid, output_type=[Textract_Pretty_Print.TABLES]))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## 10. Extracting 1099-MISC Form " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "documentName = \"docs/1099-MISC-2021.pdf\"\n", + "display(IFrame(documentName, 500, 600));" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response_1099_misc = call_textract(input_document=f's3://{data_bucket}/idp-mortgage/textract/1099-MISC-2021.pdf', \n", + " features=[Textract_Features.TABLES, Textract_Features.FORMS])\n", + "doc_1099_misc = Document(response_1099_misc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Printing the content of the doc in Line and Word Format\n", + "\n", + "In this section, we will extract the lines and words that appear in the document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Iterate over elements in the document\n", + "for page in doc_1099_misc.pages:\n", + " # Print lines and words\n", + " for line in page.lines:\n", + " print(f\"Line├── {line.text}\")\n", + " for word in line.words:\n", + " print(f\"\\tWord└── {word.text}\")\n", + " print('\\n────────────────────────────\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get form info (key-value) pairs from the response\n", + "\n", + "In the previous section, note that the output is plain text and doesn't necessarily have information on whether they appear in a form or a table. In this section we will get the form data in the document in key-value pair format." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for page in doc_1099_misc.pages:\n", + " forms=[]\n", + " for field in page.form.fields:\n", + " obj={}\n", + " obj[f'{field.key}']=f'{field.value}'\n", + " forms.append(obj)\n", + "\n", + "display(JSON(forms, root='Form Key-values', expanded=True))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "num_tables=1\n", + "for page in doc_1099_misc.pages:\n", + " # Print tables\n", + " for table in page.tables:\n", + " print(f\"Table {num_tables}\")\n", + " print('────────────────────────────')\n", + " num_tables=num_tables+1\n", + " for r, row in enumerate(table.rows):\n", + " for c, cell in enumerate(row.cells):\n", + " print(f\"Cell[{r}][{c}] = {cell.text}\")\n", + " print('\\n')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(get_string(textract_json=response_1099_misc, table_format=Pretty_Print_Table_Format.grid, output_type=[Textract_Pretty_Print.TABLES]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## 11. Extracting 1099-R Form " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "documentName = \"docs/1099-R.jpg\"\n", + "display(Image(filename=documentName, width=500))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response_1099_r = call_textract(input_document=f's3://{data_bucket}/idp-mortgage/textract/1099-R.jpg', \n", + " features=[Textract_Features.TABLES, Textract_Features.FORMS])\n", + "doc_1099_r = Document(response_1099_r)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Iterate over elements in the document\n", + "for page in doc_1099_r.pages:\n", + " # Print lines and words\n", + " for line in page.lines:\n", + " print(f\"Line├── {line.text}\")\n", + " for word in line.words:\n", + " print(f\"\\tWord└── {word.text}\")\n", + " print('\\n────────────────────────────\\n')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for page in doc_1099_r.pages:\n", + " forms=[]\n", + " for field in page.form.fields:\n", + " obj={}\n", + " obj[f'{field.key}']=f'{field.value}'\n", + " forms.append(obj)\n", + "\n", + "display(JSON(forms, root='Form Key-values', expanded=True))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "num_tables=1\n", + "for page in doc_1099_r.pages:\n", + " # Print tables\n", + " for table in page.tables:\n", + " print(f\"Table {num_tables}\")\n", + " print('────────────────────────────')\n", + " num_tables=num_tables+1\n", + " for r, row in enumerate(table.rows):\n", + " for c, cell in enumerate(row.cells):\n", + " print(f\"Cell[{r}][{c}] = {cell.text}\")\n", + " print('\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There are no table's detected in this document" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## 12. Employment Verification Form " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "documentName = \"docs/Employment_Verification.png\"\n", + "display(Image(filename=documentName, width=500))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response_emp_ver = call_textract(input_document=f's3://{data_bucket}/idp-mortgage/textract/Employment_Verification.png', \n", + " features=[Textract_Features.TABLES, Textract_Features.FORMS])\n", + "doc_emp_ver = Document(response_emp_ver)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Printing the content of the doc in Line and Word Format\n", + "\n", + "In this section, we will extract the lines and words that appear in the document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Iterate over elements in the document\n", + "for page in doc_emp_ver.pages: \n", + " # Print lines and words\n", + " for line in page.lines:\n", + " print(f\"Line├── {line.text}\")\n", + " for word in line.words:\n", + " print(f\"\\tWord└── {word.text}\")\n", + " print('\\n────────────────────────────\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get form info (key-value) pairs from the response\n", + "\n", + "In the previous section, note that the output is plain text and doesn't necessarily have information on whether they appear in a form or a table. In this section we will get the form data in the document in key-value pair format." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for page in doc_emp_ver.pages:\n", + " forms=[]\n", + " for field in page.form.fields:\n", + " obj={}\n", + " obj[f'{field.key}']=f'{field.value}'\n", + " forms.append(obj)\n", + "\n", + "display(JSON(forms, root='Form Key-values', expanded=True))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get Table info from the response" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "num_tables=1\n", + "for page in doc_emp_ver.pages:\n", + " # Print tables\n", + " for table in page.tables:\n", + " print(f\"Table {num_tables}\")\n", + " print('────────────────────────────')\n", + " num_tables=num_tables+1\n", + " for r, row in enumerate(table.rows):\n", + " for c, cell in enumerate(row.cells):\n", + " print(f\"Cell[{r}][{c}] = {cell.text}\")\n", + " print('\\n')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(get_string(textract_json=response_emp_ver, table_format=Pretty_Print_Table_Format.grid, output_type=[Textract_Pretty_Print.TABLES]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "## 13. Mortgage Statement " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Document\n", + "documentName = \"docs/Mortgage_Statement.pdf\"\n", + "display(IFrame(documentName, 500, 600));" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response_mtgg_stmt = call_textract(input_document=f's3://{data_bucket}/idp-mortgage/textract/Mortgage_Statement.pdf', \n", + " features=[Textract_Features.TABLES, Textract_Features.FORMS])\n", + "doc_mtgg_stmt = Document(response_mtgg_stmt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Printing the content of the doc in Line and Word Format\n", + "\n", + "In this section, we will extract the lines and words that appear in the document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Iterate over elements in the document\n", + "for page in doc_mtgg_stmt.pages: \n", + " # Print lines and words\n", + " for line in page.lines:\n", + " print(f\"Line├── {line.text}\")\n", + " for word in line.words:\n", + " print(f\"\\tWord└── {word.text}\")\n", + " print('\\n────────────────────────────\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get form info (key-value) pairs from the response\n", + "\n", + "In the previous section, note that the output is plain text and doesn't necessarily have information on whether they appear in a form or a table. In this section we will get the form data in the document in key-value pair format." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for page in doc_mtgg_stmt.pages:\n", + " forms=[]\n", + " for field in page.form.fields:\n", + " obj={}\n", + " obj[f'{field.key}']=f'{field.value}'\n", + " forms.append(obj)\n", + "\n", + "display(JSON(forms, root='Form Key-values', expanded=True))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get Table info from the response" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "num_tables=1\n", + "for page in doc_mtgg_stmt.pages:\n", + " # Print tables\n", + " for table in page.tables:\n", + " print(f\"Table {num_tables}\")\n", + " print('────────────────────────────')\n", + " num_tables=num_tables+1\n", + " for r, row in enumerate(table.rows):\n", + " for c, cell in enumerate(row.cells):\n", + " print(f\"Cell[{r}][{c}] = {cell.text}\")\n", + " print('\\n')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(get_string(textract_json=response_mtgg_stmt, table_format=Pretty_Print_Table_Format.grid, output_type=[Textract_Pretty_Print.TABLES]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "# Conclusion\n", + "\n", + "In this notebook, we saw how to extract FORMS, TABLES, and TEXT lines from various documents that may be present in a mortgage packet. We also used Amazon Textract AnalyzeID to detect information from passport document. We used queries to extract specific information out of a document which is dense text and got accurate responses back from the API. In the next notebook, we will perform enrichment on one of the documents." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "instance_type": "ml.t3.medium", + "kernelspec": { + "display_name": "Python 3 (Data Science)", + "language": "python", + "name": "python3__SAGEMAKER_INTERNAL__arn:aws:sagemaker:us-east-2:429704687514:image/datascience-1.0" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/industry/mortgage/03-document-extraction-2.ipynb b/industry/mortgage/03-document-extraction-2.ipynb new file mode 100644 index 0000000..eaa15e6 --- /dev/null +++ b/industry/mortgage/03-document-extraction-2.ipynb @@ -0,0 +1,502 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Mortgage Document Extraction - _continued_\n", + "\n", + "In this notebook, we will train an Amazon Comprehend custom entity recognizer so that we can detect and extract entities from the HOA document. We will be using the [Amazon Textract Parser Library](https://github.com/aws-samples/amazon-textract-response-parser/tree/master/src-python) to extract the plaintext data from the document and use data science library [Pandas](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) to prepare training data. We will also be needing the [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/), and [AWS boto3 python sdk](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) libraries. We will perform two types of entity recognition with Amazon Comprehend.\n", + "\n", + "- [Default entity recognition](#step1)\n", + "- [Custom entity recognition](#step2)\n", + "\n", + "---\n", + "\n", + "## Setup Notebook\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import boto3\n", + "import botocore\n", + "import sagemaker\n", + "import time\n", + "import os\n", + "import json\n", + "import datetime\n", + "import io\n", + "import uuid\n", + "import pandas as pd\n", + "import numpy as np\n", + "from pytz import timezone\n", + "from PIL import Image, ImageDraw, ImageFont\n", + "import multiprocessing as mp\n", + "from pathlib import Path\n", + "from IPython.display import Image, display, HTML, JSON, IFrame\n", + "from textractcaller.t_call import call_textract, Textract_Features\n", + "from textractprettyprinter.t_pretty_print import Textract_Pretty_Print, get_string\n", + "from trp import Document\n", + "\n", + "# Document\n", + "from IPython.display import Image, display, HTML, JSON\n", + "from PIL import Image as PImage, ImageDraw\n", + "\n", + "\n", + "# variables\n", + "data_bucket = sagemaker.Session().default_bucket()\n", + "region = boto3.session.Session().region_name\n", + "account_id = boto3.client('sts').get_caller_identity().get('Account')\n", + "\n", + "os.environ[\"BUCKET\"] = data_bucket\n", + "os.environ[\"REGION\"] = region\n", + "role = sagemaker.get_execution_role()\n", + "\n", + "print(f\"SageMaker role is: {role}\\nDefault SageMaker Bucket: s3://{data_bucket}\")\n", + "\n", + "s3=boto3.client('s3')\n", + "textract = boto3.client('textract', region_name=region)\n", + "comprehend=boto3.client('comprehend', region_name=region)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "# Default Entity Recognition with Amazon Comprehend \n", + "\n", + "Amazon Comprehend can detect a pre-defined list of default entities using it's pre-trained model. Check out the [documentation](https://docs.aws.amazon.com/comprehend/latest/dg/how-entities.html) for a full list of default entitied. In this section, we will see how we can use Amazon Comprehend's default entity recognizer to get the default entities present in the document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "documentName = \"docs/hoa_statement.pdf\"\n", + "display(IFrame(documentName, 500, 600));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now extract the (UTF-8) string text from the document above and use the Amazon Comprehend [DetectEntities](https://docs.aws.amazon.com/comprehend/latest/dg/API_DetectEntities.html) API to detect the default entities." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response_1 = call_textract(input_document=f's3://{data_bucket}/idp-mortgage/textract/hoa_statement.pdf') \n", + "lines_1 = get_string(textract_json=response_1, output_type=[Textract_Pretty_Print.LINES])\n", + "text_1 = lines_1.replace(\"\\n\", \" \")\n", + "text_1" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "entities_default = comprehend.detect_entities(LanguageCode=\"en\", Text=text_1)\n", + "\n", + "df_default_entities = pd.DataFrame(entities_default[\"Entities\"], columns = ['Text', 'Type', 'Score'])\n", + "df_default_entities = df_default_entities.drop_duplicates(subset=['Text']).reset_index()\n", + "\n", + "df_default_entities" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The output above shows us the default entities that Amazon Comprehend was able to detect in the document's text. However, we are interested in knowing specific entity values such as the property address (which is denoted currently by default entity LOCATION), or the HOA due amount (which is denoted currently by default entity QUANTITY). In order to be able to do that, we will need to train an Amazon Comprehend custom entity recognizer which we will do in the following section" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "# Custom Entity Recognition with Amazon Comprehend \n", + "\n", + "## Data preparation\n", + "\n", + "There are 2 different ways we can train an Amazon Comprehend custom entity recognizer. \n", + "\n", + "- [Annotations](https://docs.aws.amazon.com/comprehend/latest/dg/cer-annotation.html)\n", + "- [Entity lists](https://docs.aws.amazon.com/comprehend/latest/dg/cer-entity-list.html)\n", + "\n", + "Annotation method may provide more accuracy but preparing annotation data is involved. For the purposes of this hands-on we are going to train an custom entity recognizer using [entity lists](https://docs.aws.amazon.com/comprehend/latest/dg/cer-entity-list.html). To train using entity lists we will frst need a list of entities along with sample values in a CSV format, we will also need the document's text (one line per document) in a separate plaintext file. This means every line in the training data document is a full document.\n", + "\n", + "Let's take a look at our sample document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "documentName = \"docs/hoa_statement.pdf\"\n", + "display(IFrame(documentName, 500, 600));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We would like to extract 2 entities from this document\n", + "\n", + "- The property address (`PROPERTY_ADDRESS`)\n", + "- The total HOA due amount (`HOA_DUE_AMOUNT`)\n", + "\n", + "Since we are going to use and Entity List with the above two entities, we need to get the sample document's content in UTF-8 encoded plain text format. This can be done by extracting the text from the document file(s) using Amazon textract." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "response = call_textract(input_document=f's3://{data_bucket}/idp-mortgage/textract/hoa_statement.pdf') \n", + "lines = get_string(textract_json=response, output_type=[Textract_Pretty_Print.LINES])\n", + "text = lines.replace(\"\\n\", \" \")\n", + "text" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The custom entity recognizer needs atleast 200 document samples, and 250 entity samples for each entity. For the purposes of this hands-on we have provided the entity list CSV file and the document file where each line is an entire document (one document per line)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "---\n", + "\n", + "## Training the custom entity recognizer\n", + "\n", + "Let's take a look at the entity list csv file." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "entities_df = pd.read_csv('./data/entity_list.csv', dtype={'Text': object})\n", + "entities = entities_df[\"Type\"].unique().tolist()\n", + "print(f'Custom entities : {entities}')\n", + "print(f'\\nTotal Custom entities: {entities_df[\"Type\"].nunique()}')\n", + "print(\"\\n\\nTotal Sample per entity:\")\n", + "entities_df['Type'].value_counts()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that we have two entities in the entity list CSV file - 'PROPERTY_ADDRESS' and 'HOA_DUE_AMOUNT'. We also have about 300 samples per entity. With this we are now ready to train the custom entity recognizer. Let's upload the document file and entity list csv file to S3." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!aws s3 cp ./data/entity_list.csv s3://{data_bucket}/idp-mortgage/comprehend/entity_list.csv\n", + "!aws s3 cp ./data/entity_training_corpus.txt s3://{data_bucket}/idp-mortgage/comprehend/entity_training_corpus.txt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will initialize a few variables and start the entity recognizer training. Run the two code cells below-" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "entities_uri = f's3://{data_bucket}/idp-mortgage/comprehend/entity_list.csv'\n", + "training_data_uri = f's3://{data_bucket}/idp-mortgage/comprehend/entity_training_corpus.txt'\n", + "\n", + "print(f'Entity List CSV File: {entities_uri}')\n", + "print(f'Training Data File: {training_data_uri}')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Create a custom entity recognizer\n", + "account_id = boto3.client('sts').get_caller_identity().get('Account')\n", + "id = str(datetime.datetime.now().strftime(\"%s\"))\n", + "\n", + "entity_recognizer_name = 'mortgage-custom-ner-hoa'\n", + "entity_recognizer_version = 'v1'\n", + "entity_recognizer_arn = ''\n", + "create_response = None\n", + "EntityTypes = []\n", + "for e in entities:\n", + " EntityTypes.append( {'Type':e})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "try:\n", + " create_response = comprehend.create_entity_recognizer(\n", + " InputDataConfig={\n", + " 'DataFormat': 'COMPREHEND_CSV',\n", + " 'EntityTypes': EntityTypes,\n", + " 'Documents': {\n", + " 'S3Uri': training_data_uri\n", + " },\n", + " 'EntityList': {\n", + " 'S3Uri': entities_uri\n", + " }\n", + " },\n", + " DataAccessRoleArn=role,\n", + " RecognizerName=entity_recognizer_name,\n", + " VersionName=entity_recognizer_version,\n", + " LanguageCode='en'\n", + " )\n", + " \n", + " entity_recognizer_arn = create_response['EntityRecognizerArn']\n", + " \n", + " print(f\"Comprehend Custom entity recognizer created with ARN: {entity_recognizer_arn}\")\n", + "except Exception as error:\n", + "\n", + " print(error)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that the training may take about 20 minutes. The status of the training can be checked using the code below. You can also view the status of the training job from the Amazon Comprehend console." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%time\n", + "# Loop through and wait for the training to complete . Takes up to 10 mins \n", + "from IPython.display import clear_output\n", + "import time\n", + "from datetime import datetime\n", + "\n", + "jobArn = create_response['EntityRecognizerArn']\n", + "\n", + "max_time = time.time() + 3*60*60 # 3 hours\n", + "while time.time() < max_time:\n", + " now = datetime.now()\n", + " current_time = now.strftime(\"%H:%M:%S\")\n", + " \n", + " describe_custom_recognizer = comprehend.describe_entity_recognizer(\n", + " EntityRecognizerArn = jobArn\n", + " )\n", + " status = describe_custom_recognizer[\"EntityRecognizerProperties\"][\"Status\"]\n", + " clear_output(wait=True)\n", + " print(f\"{current_time} : Custom document entity recognizer: {status}\")\n", + " \n", + " if status == \"TRAINED\" or status == \"IN_ERROR\":\n", + " break\n", + " time.sleep(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## Deploy Custom Entity Recognizer Endpoint\n", + "\n", + "Our model has now been trained and can be deployed. In the next code cell, we will deploy the trained custom entity recognizer." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#create comprehend endpoint\n", + "model_arn = entity_recognizer_arn\n", + "ep_name = 'mortgage-hoa-ner-endpoint'\n", + "\n", + "try:\n", + " endpoint_response = comprehend.create_endpoint(\n", + " EndpointName=ep_name,\n", + " ModelArn=model_arn,\n", + " DesiredInferenceUnits=1, \n", + " DataAccessRoleArn=role\n", + " )\n", + " ER_ENDPOINT_ARN=endpoint_response['EndpointArn']\n", + " print(f'Endpoint created with ARN: {ER_ENDPOINT_ARN}')\n", + " %store ER_ENDPOINT_ARN\n", + "except Exception as error:\n", + " if error.response['Error']['Code'] == 'ResourceInUseException':\n", + " print(f'An endpoint with the name \"{ep_name}\" already exists.')\n", + " ER_ENDPOINT_ARN = f'arn:aws:comprehend:{region}:{account_id}:entity-recognizer-endpoint/{ep_name}'\n", + " print(f'The classifier endpoint ARN is: \"{ER_ENDPOINT_ARN}\"')\n", + " %store ER_ENDPOINT_ARN\n", + " else:\n", + " print(error)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that the endpoint creation may take about 20 minutes. The status of the deployment can be checked using the code below. You can also view the status of the training job from the Amazon Comprehend console." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%time\n", + "# Loop through and wait for the training to complete . Takes up to 10 mins \n", + "from IPython.display import clear_output\n", + "import time\n", + "from datetime import datetime\n", + "\n", + "ep_arn = endpoint_response[\"EndpointArn\"]\n", + "\n", + "max_time = time.time() + 3*60*60 # 3 hours\n", + "while time.time() < max_time:\n", + " now = datetime.now()\n", + " current_time = now.strftime(\"%H:%M:%S\")\n", + " \n", + " describe_endpoint_resp = comprehend.describe_endpoint(\n", + " EndpointArn=ep_arn\n", + " )\n", + " status = describe_endpoint_resp[\"EndpointProperties\"][\"Status\"]\n", + " clear_output(wait=True)\n", + " print(f\"{current_time} : Custom entity recognizer classifier: {status}\")\n", + " \n", + " if status == \"IN_SERVICE\" or status == \"FAILED\":\n", + " break\n", + " \n", + " time.sleep(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "## Detect Entities using the Endpoint\n", + "\n", + "We will now try to detect our two custom entities 'PROPERTY_ADDRESS' and 'HOA_DUE_AMOUNT' from our sample HOA Letter. We will define a function that will call the comprehend DetectEntities API with the text extracted from textract and the enpoint. The expected output are the detected entities, their values and their corresponding confidence scores" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# from trp import Document\n", + "\n", + "def get_entities(text):\n", + " try:\n", + " #detect entities\n", + " entities_custom = comprehend.detect_entities(LanguageCode=\"en\", Text=text, EndpointArn=ER_ENDPOINT_ARN) \n", + " df_custom = pd.DataFrame(entities_custom[\"Entities\"], columns = ['Text', 'Type', 'Score'])\n", + " df_custom = df_custom.drop_duplicates(subset=['Text']).reset_index()\n", + " return df_custom\n", + " except Exception as e:\n", + " print(e)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "resp = get_entities(text)\n", + "resp" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "# Conclusion\n", + "\n", + "In this notebook, we saw how we can train an Amazon Comprehend custom entity recognizer to detect custom entities from documents containing dense texts. We used entity lists to train the model, and eventually deployed the model with the trained model. We then used the endpoint to detect our custom entities from the text extracted by Amazon Textract, from our sample HOA Letter document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "instance_type": "ml.t3.medium", + "kernelspec": { + "display_name": "Python 3 (Data Science)", + "language": "python", + "name": "python3__SAGEMAKER_INTERNAL__arn:aws:sagemaker:us-east-2:429704687514:image/datascience-1.0" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/industry/mortgage/04-document-enrichment.ipynb b/industry/mortgage/04-document-enrichment.ipynb new file mode 100644 index 0000000..3c4a4a0 --- /dev/null +++ b/industry/mortgage/04-document-enrichment.ipynb @@ -0,0 +1,310 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Mortgage Document Enrichment\n", + "\n", + "---\n", + "\n", + "## Setup Notebook\n", + "\n", + "We will be using the [Amazon Textract Parser Library](https://github.com/aws-samples/amazon-textract-response-parser/tree/master/src-python) for parsing through the Textract response, data science library [Pandas](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) for content analysis, the [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/), and [AWS boto3 python sdk](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) to work with Amazon Textract and Amazon A2I. Let's now install and import them." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "!python -m pip install -q amazon-textract-overlayer --force-reinstall" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from textractcaller.t_call import call_textract, Textract_Features, Textract_Types\n", + "from textractprettyprinter.t_pretty_print import Textract_Pretty_Print, get_string, Pretty_Print_Table_Format\n", + "from trp.trp2 import TDocument" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "import boto3\n", + "import botocore\n", + "import sagemaker\n", + "import os\n", + "import io\n", + "import datetime\n", + "import json\n", + "import pandas as pd\n", + "from PIL import Image as PImage, ImageDraw\n", + "from pathlib import Path\n", + "import multiprocessing as mp\n", + "from IPython.display import Image, display, HTML, JSON, IFrame\n", + "from trp import Document\n", + "\n", + "# variables\n", + "data_bucket = sagemaker.Session().default_bucket()\n", + "region = boto3.session.Session().region_name\n", + "account_id = boto3.client('sts').get_caller_identity().get('Account')\n", + "\n", + "os.environ[\"BUCKET\"] = data_bucket\n", + "os.environ[\"REGION\"] = region\n", + "role = sagemaker.get_execution_role()\n", + "\n", + "print(f\"SageMaker role is: {role}\\nDefault SageMaker Bucket: s3://{data_bucket}\")\n", + "\n", + "s3=boto3.client('s3')\n", + "textract = boto3.client('textract', region_name=region)\n", + "comprehend=boto3.client('comprehend', region_name=region)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "## Redact PII in Paystub\n", + "\n", + "In this step we will first detect PII (Personally Identifiable Information) in the Paystub document. We will then obtain the bounding box information for the detected PII entities and create redaction bounding boxes on the document.\n", + "\n", + "In order to obtain the bounding box geometry of all words from the document we will use a tool called `amazon-textract-overlayer`. See [documentation](https://github.com/aws-samples/amazon-textract-textractor/tree/master/overlayer) for learn more about `amazon-textract-overlayer`.\n", + "\n", + "The un-redacted document looks like below-" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "documentName = \"docs/Paystub.jpg\"\n", + "display(Image(filename=documentName, width=500))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Detecting PII Entities\n", + "\n", + "Let's take a look at how to detect PII entities using Amazon Comprehend Detect PII Entities API. Amazon Comprehend's PII detection API uses a pre-trained NLP model that can detect most common PII entities such as NAME, ADDRESS, SSN, BANK A/C NUMBERS, DATES and so on (for a full list see [documentation](https://docs.aws.amazon.com/comprehend/latest/dg/how-pii.html#how-pii-types))." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "resp = call_textract(input_document = f's3://{data_bucket}/idp-mortgage/textract/Paystub.jpg')\n", + "text = get_string(textract_json=resp, output_type=[Textract_Pretty_Print.LINES])\n", + "\n", + "#Call Amazon Comprehend Detect PII Entities API\n", + "entity_resp = comprehend.detect_pii_entities(Text=text, LanguageCode=\"en\") \n", + "\n", + "pii = []\n", + "for entity in entity_resp['Entities']:\n", + " pii_entity={}\n", + " pii_entity['Type'] = entity['Type']\n", + " pii_entity['Text'] = text[entity['BeginOffset']:entity['EndOffset']]\n", + " pii.append(pii_entity)\n", + "pii " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "### Perform Document Enrichment\n", + "\n", + "Using a combination of Amazon Comprehend and Amazon Textract we can now perform some PII redaction on a Paystub document. Next we will define a helper function that will\n", + "\n", + "1. Call Amazon Textract to get the plain text information from the Paystub and the corresponding bounding box information since it is an image file\n", + "2. Use the extracted text to call Amazon Comprehend's [Detect PII](https://docs.aws.amazon.com/comprehend/latest/dg/how-pii.html) API\n", + "3. Use Python Pillow library to draw bounding box redactions on the original document\n", + "4. Save the new enriched document with redactions to the file system" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "from textractoverlayer.t_overlay import DocumentDimensions, get_bounding_boxes\n", + "\n", + "def redact_doc(s3document, localpath, redact_entities):\n", + " print(s3document)\n", + " try:\n", + " img = PImage.open(localpath)\n", + " draw = ImageDraw.Draw(img)\n", + "\n", + " # Use call_textract to get bounding boxes\n", + " # call_textract without the features parameter uses Textract Detect text\n", + " resp = call_textract(input_document = s3document)\n", + " document_dimension:DocumentDimensions = DocumentDimensions(doc_width=img.size[0], doc_height=img.size[1])\n", + " overlay=[Textract_Types.LINE, Textract_Types.WORD, Textract_Types.FORM, Textract_Types.CELL, Textract_Types.KEY, Textract_Types.VALUE]\n", + " bounding_box_list = get_bounding_boxes(textract_json=resp, document_dimensions=[document_dimension], overlay_features=overlay)\n", + "\n", + " print('Detecting entities...')\n", + " \n", + " text = get_string(textract_json=resp, output_type=[Textract_Pretty_Print.LINES])\n", + " \n", + " #detect PII Entities\n", + " entity_resp = comprehend.detect_pii_entities(Text=text, LanguageCode=\"en\") \n", + "\n", + " entities = []\n", + " for entity in entity_resp['Entities']:\n", + " pii_entity={}\n", + " pii_entity['Type'] = entity['Type']\n", + " pii_entity['Text'] = text[entity['BeginOffset']:entity['EndOffset']]\n", + " entities.append(pii_entity) \n", + " redactions = []\n", + "\n", + " #collect the bounding boxes for the custom entities\n", + " for entity in entities:\n", + " entity_text = entity['Text']\n", + " entity_type = entity['Type']\n", + " for bbox in bounding_box_list: \n", + " if bbox.text == entity_text and entity_type in redact_entities:\n", + " print(f'Found Entity: {entity_text}')\n", + " redactions.append(bbox)\n", + " \n", + " #Perform redaction\n", + " for box in redactions:\n", + " draw.rectangle(xy=[box.xmin, box.ymin, box.xmax, box.ymax], fill=\"Black\")\n", + " \n", + " #Generate the redacted/enriched document file and save to file system\n", + " opfile = Path(localpath).stem\n", + " opfile = f'{opfile}_redacted.jpg' \n", + " img.save(opfile) \n", + " print(f'Done.... Redacted file saved: {opfile}')\n", + " return opfile\n", + " except Exception as e:\n", + " print(e)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can call this method and pass it the PII Entities we wish to perform redaction on. In this case, we will pass `NAME`, `SSN`, and `DATE_TIME` for redaction." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "redact_doc(f's3://{data_bucket}/idp-mortgage/textract/Paystub.jpg','docs/Paystub.jpg',['NAME','SSN','DATE_TIME'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "#### Side-by-side comparison of un-redacted vs. redacted document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "bank_document_local='docs/Paystub.jpg'\n", + "redacted_file='Paystub_redacted.jpg'\n", + "\n", + "print(f'\\nUnredacted Document\\t\\t\\t\\t\\t\\t\\tRedacted Document \\n')\n", + "\n", + "HTML(f\"\"\"\n", + "
\n", + " \n", + " \n", + "
\n", + " \"\"\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "# Conclusion\n", + "\n", + "In this notebook, we saw how we can perform document enrichment such as redacting PII information. We first detected PII entities in the document using Amazon comprehend's detect PII API. Once we were able to detect PII infromation in the document, we used Amazon Textract to obtain the bounding box information for the information that needs to be treated as a PII info and then we finally drew bounding box redactions on the document using an image library." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "# Cleanup\n", + "\n", + "In order to clean up the files uploaded into the S3 bucket, execute the following command. If you created this SageMaker Domain Studio environment manually then follow the SageMaker documentation to delete the Studio domain. If you created, the Studio Domain using a CloudFormation stack, delete the stack. If you are performing this lab as part of an instructor led workshop please follow instructions shared by the instructor." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!aws s3 rm s3://{data_bucket}/idp-mortgage/ --recursive --exclude \"*\" --include \"textract/*\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "instance_type": "ml.t3.medium", + "kernelspec": { + "display_name": "Python 3 (Data Science)", + "language": "python", + "name": "python3__SAGEMAKER_INTERNAL__arn:aws:sagemaker:us-east-2:429704687514:image/datascience-1.0" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/industry/mortgage/README.md b/industry/mortgage/README.md new file mode 100644 index 0000000..87edeb5 --- /dev/null +++ b/industry/mortgage/README.md @@ -0,0 +1,48 @@ +# Process Mortgage Documents with AWS AI Services + +
+

+ idp-mortgage +

+
+ +## Get Started + +1. Setup an [Amazon SageMaker Studio domain](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html). +2. Log-on to Amazon SageMaker Studio. Open a terminal from _File_ menu > _New_ > _Terminal_ + +
+

+ sf +

+
+ +3. Clone this repository + +```sh +git clone https://github.com/aws-samples/aws-ai-intelligent-document-processing idp_workshop +cd idp_workshop/industry/mortgage +``` + +4. Open the [01-document-classification.ipynb](./01-document-classification.ipynb) notebook and follow instructions in the notebook for Document Classification with Amazon Comprehend custom classifier. + +5. Open the [02-document-extraction-1.ipynb](./02-document-extraction-1.ipynb) notebook and follow instructions in the notebook for Document Extraction with Amazon Textract. + +6. Open the [02-document-extraction-2.ipynb](./02-document-extraction-2.ipynb) notebook and follow instructions in the notebook for Document Extraction with Amazon Comprehend custom entity recognizer. + +7. Open the [02-document-enrichment.ipynb](./02-document-enrichment.ipynb) notebook and follow instructions in the notebook for Document enrichment (document redaction) with Amazon Comprehend PII entity recognizer. + +## Clean Up + +1. Follow instructions in the notebook to cleanup the resources. +2. If you created an Amazon SageMaker Studio Domain manually then please [delete it](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-delete-domain.html) to avoid incurring charges. + +--- +## Security + +See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information. + +## License + +This library is licensed under the MIT-0 License. See the LICENSE file. + diff --git a/industry/mortgage/data/comp_class_training_data.csv b/industry/mortgage/data/comp_class_training_data.csv new file mode 100644 index 0000000..13246f5 --- /dev/null +++ b/industry/mortgage/data/comp_class_training_data.csv @@ -0,0 +1,40616 @@ +1099-div,"YEAR 2018: DIVIDENDS AND DISTRIBUTIONS +Confidential +OMB No. 1545-0110 Form 1099-DIV +HEWLETT PACKARD ENTERPRISE COMPANY +PAYER'S name and address +PAYER'S TIN +COMMON STOCK +HEWLETT PACKARD ENTERPRISE COMPANY +47-3298624 +View your tax documents, and more while signed into your account at +3000 HANOVER STREET +shareowneronline.com. +PALO ALTO, CA 94304 +New users: enroll by selecting Sign Up Now! Select Authentication ID, and +then check do not have my Authentication ID. +Tax information is also available on our automated phone system at +1-888-460-7641 +Reported by: 82-3781525 +Investment Plan Participants: Total dividends reported may include +EQUINITI TRUST COMPANY SHAREOWNER SERVICES +company paid brokerage commission and/or discounts on purchases +P.O. BOX 64854 +ST. PAUL MN 55164-0854 +Account number (see instructions) +RECIPIENTS TIN +AR +AMRAJU +HPE1 4000689297 +XXX-XX-8238 +9 +RA DR +SAN JOSE CA 95129-2260 +1a. Total ordinary dividends +1b. Qualified dividends +$258.00 +$258.00 +2a. Total capital gain distribution +2b. Unrecap. Sec. 1250 gain +$0.00 +$0.00 +2c. Section 1202 gain +2d. Collectibles (28%) gain +$0.00 +$0.00 +3. +Nondividend distributions +4. Federal income tax withheld +$0.00 +$0.00 +7. +Foreign tax paid +8. Foreign country or U.S. possession +$0.00 +Copy B For Recipient: This is important tax information and is being furnished +9. Cash liquidation distributions +10. Noncash liquidation distributions +to the Internal Revenue Service If you are required to file a return, a negligence +penalty or other sanction may be imposed on you if this income is taxable and +$0.00 +$0.00 +the IRS determines that it has not been reported +13. State and 14. State ID +15. State tax withheld +N/A +$0.00 +The Protecting Americans from Tax Hikes Act of 2015 (the ""PATH Act') provides that payers are no longer required to correct 'de minimis"" errors ($100 or less for a previously reported +income amount or $25 or less for a previously reported withholding amount) To continue receiving corrected information tax returns for 'de minimis"" errors, please send written notification +with your name, address, taxpayer identification number (TIN). account number and state you elect to receive 'de minimis"" corrections +Please submit request to Shareowner Services, P.O. Box 64860, Saint Paul, MN 55164-0860 +454118 +1/8/2019 +11272 +" +1099-div,"YEAR 2018: DIVIDENDS AND DISTRIBUTIONS +Confidential +OMB No. 1545-0110 Form 1099-DIV +HP INC. +PAYER'S name and address +PAYER'S TIN +COMMON STOCK +HP INC. +94-1081436 +View your tax documents, and more while signed into your account at +1501 PAGE MILL ROAD +shareowneronline com. +PALO ALTO CA 94304 +New users: enroll by selecting Sign Up Now! Select Authentication ID, and +then check - do not have my Authentication ID. +Tax information is also available on our automated phone system at +1-800-286-5977 +Reported by: 82-3781525 +Investment Plan Participants: Total dividends reported may include +EQUINITI TRUST COMPANY SHAREOWNER SERVICES +company paid brokerage commission and/or discounts on purchases. +P.O. BOX 64854 +ST. PAUL MN 55164-0854 +Account number (see instructions) +RECIPIENT'S TIN +AR +AMRAJU +HPQ1 4000689 +XXX-XX-8238 +9 +RA DR +SAN JOSE CA 95129-2260 +1a. +Total ordinary dividends +1b. Qualified dividends +$383.36 +$383.36 +2a Total capital gain distribution +2b. +Unrocap. Sec. 1260 gain +$0.00 +$0.00 +2c. Section 1202 gain +2d. Collectibles (28%) gain +$0.00 +$0.00 +3. +Nondividend distributions +4. Federal income tax withheld +$0.00 +$0.00 +7. +Foreign tax paid +8. Foreign country or U.S. possession +$0.00 +Copy B For Recipient: This is important tax information and is being furnished +9. Cash liquidation distributions +10. Noncash liquidation distributions +to the Internal Revenue Service. If you are required to file a return, a negligence +penalty or other sanction may be imposed on you if this income is taxable and +$0.00 +$0.00 +the IRS determines that it has not been reported +13. State and 14. State ID +15. State tax withheld +N/A +$0.00 +The Protecting Americans from Tax Hikes Act of 2015 (the ""PATH Act"") provides that payers are no longer required to correct ""de minimis"" errors ($100 or less for a previously reported +income amount, or $25 or less for a previously reported withholding amount). To continue receiving corrected information tax returns for ""de minimis errors. please send written notification +with your name, address, taxpayer identification number (TIN). account number, and state you elect to receive ""de minimis"" corrections +Please submit request to Shareowner Services P.O. Box 64860 Saint Paul, MN 55164-0860 +454118 +1/8/2019 +11402 +" +1099-div,"PAYER'S name, street address, city or town, state or province, +Copy B For Recipient +country, ZIP or foreign postal code, and telephone no. +TAX YEAR 2015 +Department of the Treasury-Internal Revenue Service +JohnsHanook +John Hancock Signature Services, Inc. +This is important tax information and is being furnished +P.O. Box 55913 +to the IRS. If you are required to file a return, a negligence +Investment Management +Boston, MA 02205-5913 +RECIPIENT'S +318- -05 +penalty or other sanction may be imposed on you if this +jhinvestments.com +TIN +income is taxable and the IRS determines that it has not +800-225-5291 +been reported. +(keep for your records) +RECIPIENT'S name, street address (including apt. no.), city or town, state or province, +country, and ZIP or foreign postal code. +St +Ko +41 +Ma +Street +Boston, MA 02116-1234 +Corrected (if checked) +(OMB No. 1545-0110) +FORM 1099-DIV +DIVIDENDS AND DISTRIBUTIONS +. +2015 +(1a) +(1b) +(2a) +(2b) +(2d) +(3) +(4) +(5) +(7) +(9) +(10) +(11) +(12) +(15) +Total +Qualified +Total +Unrecap. Sec. +Collectibles +Nondividend +Federal income +Section 199A +Foreign +Cash liquidation +Noncash +Exempt- +Specified private +State +ordinary +dividends +capital gain +1250 gain +(28%) gain +distributions* +tax withheld +dividends +tax paid* +distributions +liquidation +interest +activity bond +tax +dividends +distributions +distributions +dividends +interest dividends +withheld +Fund: Balance d Fund +Fund-Acc +no.: 81-21 +PAYER +TIN: +5289 +(13) State: +(14) +State identification no.: +21 +26 +58 +0,00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0,00 +0.00 +0.00 +Fund: +Diversified Macro Fund +Fund-Acct +no.: 81-21 +PAYER l'S TIN: +5289 +(13) State: +(14) +State identification no.: +12 +13 +35 +0,00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +Form +1099-DIV +* Please see instructions for additional details. +" +1099-div,"x +Fidelity +2016 SUPPLEMENTAL INFORMATION +DON +GU +Account No. +909 Customer Service: +800-544-6666 +Recipient ID No. +0 Payer's Fed ID Number: 04-3523567 +Note: This information is not reported to the IRS. It may assist you in tax return preparation. +Details of 1099-DIV Transactions +Total Ordinary Dividends and Distributions Detail +Description, Symbol, CUSIP +Date +1a Total +Dividend +Short-Term +1b Qualified +10 Exempt Interest +11 Specified Private Activity +6 Foreign +Ordinary Dividends +Distributions +Capital Gain +Dividends +Dividends +Bond Interest Dividends +Tax Paid +(includes 1b) +FIDELITY NATIONAL FINANCIAL IN FNF GROUP, FNF, 31620R303 +03/31/16 +154.50 +154.50 +06/30/16 +154.50 +154.50 +09/30/16 +154.50 +154.50 +12/30/16 +183.93 +183.93 +Subtotals +647.43 +647.43 +TOTALS +647.43 +0.00 +0.00 +647.43 +0.00 +0.00 +0.00 +Short-term capital gain distributions reported on monthly/quarterly account statements are included in 1a Total Ordinary Dividends on Form 1099-DIV. +To see the 2016 State Percentages of Tax-Exempt Income for Fidelity Federal Tax-Exempt Funds or the Percentage of Income from U.S. Government Securities for applicable Fidelity Funds, visit +Fidelity.com/fundtaxinfo. +01/24/2017 9001587476 +Pages 3 of 4 +" +1099-div,"William Blair +2017 SUPPLEMENTAL INFORMATION +CATHE +A DONAL +Account No. GER-006 +Customer Service: +800-621-0687 +Recipient ID No. +-2335 Payer's Fed ID Number: 04-3523 +Note: This information is not reported to the IRS. It may assist you in tax return preparation. +Details of 1099-DIV Transactions +C = CORRECTED Corrected on 03/09/18 +Total Ordinary Dividends and Distributions Detail +Description, Symbol, CUSIP +Date +1a Total +Dividend +Short-Term +1b Qualified +10 Exempt Interest +11 Specified Private Activity +6 Foreign +Ordinary Dividends +Distributions +Capital Gains +Dividends +Dividends +Bond Interest Dividends +Tax Paid +(includes 1b) +COSTCO WHOLESALE CORP, COST, 22160K105 +02/24/17 +22.50 +22.50 +05/26/17 +375.00 +375.00 +09/01/17 +25.00 +25.00 +12/01/17 +25.00 +25.00 +Subtotals +447.50 +447.50 +DISCOVER FINL SVCS, DFS, 254709108 +02/23/17 +51.00 +51.00 +05/25/17 +51.00 +51.00 +09/07/17 +59.50 +59.50 +12/07/17 +59.50 +59.50 +Subtotals +221.00 +221.00 +DISNEY WALT CO, DIS, 254687106 +01/11/17 +136.50 +136.50 +07/27/17 +136.50 +136.50 +Subtotals +273.00 +273.00 +DOLLAR GEN CORP NEW COM, DG, 256677105 +01/04/17 +15.00 +15.00 +04/25/17 +15.60 +15.60 +07/25/17 +15.60 +15.60 +10/24/17 +15.60 +15.60 +Subtotals +61.80 +61.80 +DOMINION ENERGY INC COM, D, 25746U109 +03/20/17 +37.75 +37.75 +06/20/17 +37.75 +37.75 +09/20/17 +37.75 +37.75 +03/20/2018 9086003066 +Pages 13 of 24 +" +1099-div,"USAA SHORT-TERM +USAA +INVESTMENT +BOND FUND +MANAGEMENT +USAA +COMPANY +USAA Number +Date +LA +E MC CRO +00343 +01/17/2019 +DO +GMC CRO +JTW +9 +VIS +DR +See Tax Center at usaa.com/taxes +SAN ANTONIO TX 78258-3324 +Member Service: 1-800-531-6347 +FORM 1099-DIV +FATCA filing requirement +CORRECTED (if checked) +This form is in a format prescribed by the IRS. It has been modified for clarity by USAA Investment Management Company. +PAYER'S name, street address, city or town, state or province, +1a Total ordinary dividends +country, ZIP or foreign postal code +OMB No. +$ 13 +1545-0110 +Dividends and +USAA FEDERAL SAVINGS BANK +1b Qualified dividends +Distributions +c/o USAA SHORT-TERM BOND FUND +2018 +9800 FREDERICKSBURG ROAD +$ 0.00 +Form 1099-DIV +SAN ANTONIO, TX 78288 +* Short-term capital gain +2a Total capital gain +distributions (Long-term) +$ 0.00 +$ 0.8 +PAYER'S federal identification +RECIPIENT'S identification +2b Unrecap. Sec. 1250 gain +Copy B +number +number +For Recipient +74-639 +XXX-XX-1894 +$ 0.00 +This is important tax +information and is being +3 Nondividend distributions +4 Federal income tax +furnished to the IRS. If +withheld +you are required to file +a return, a negligence +$ 0.00 +$ 0.00 +penalty or other sanction +may be imposed on you if +RECIPIENT'S name +7 Foreign tax paid +8 Foreign country or +this income is taxable and +U.S. possession +the IRS determines that +LA +E MC CRO +$ 0.00 +it has not been reported. +Account number (see instructions) +11 Exempt-interest dividends +12 Specified private activity +bond interest dividends +36-3690139 +$ 0.00 +$ 0.00 +Form 1099-DIV +(keep for your records) www.irs.gov/Form1099DIV +Department of the Treasury-Internal Revenue Service +Instructions for Recipients +Recipient's taxpayer identification number (TIN). For your protection, this form may show only the last four digits of your TIN +(social security number (SSN), individual taxpayer identification number (ITIN), adoption taxpayer identification number (ATIN), +or employer identification number (EIN)) However, the issuer has reported your complete TIN to the IRS. +FATCA filing requirement. If the FATCA filing requirement box is checked, the payer is reporting on this Form 1099 to satisfy +its chapter 4 account reporting requirement. You also may have a filing requirement. See the instructions for Form 8938. +Account number. May show an account or other unique number the payer assigned to distinguish your account. +Box 1a. Shows total ordinary dividends that are taxable. Include this amount on the ""Ordinary dividends"" line of Form 1040. +Also, report it on Schedule B (1040), if required. +Box 1b. Shows the portion of the amount in box 1a that may be eligible for reduced capital gains rates. See the Form 1040 +instructions for how to determine this amount and where to report. +The amount shown may be dividends a corporation paid directly to you as a participant (or beneficiary of a participant) in an +employee stock ownership plan (ESOP). Report it as a dividend on your Form 1040 but treat it as a plan distribution, not as +investment income, for any other purpose. +*The portion of your ordinary dividends from short-term capital gains. This amount is taxed at ordinary income tax rates and is +included in box 1a, but is NOT included in box 2a. +Box 2a. Shows total capital gain distributions from a regulated investment company (RIC) or real estate investment trust (REIT). +See How To Report in the Instructions for Schedule D (Form 1040). But, if no amount is shown in boxes 2c-2d and your only +capital gains and losses are capital gain distributions, you may be able to report the amounts shown in box 2a on your Form +1040 rather than Schedule D. See the Form 1040 instructions. +Box 2b. Shows the portion of the amount in box 2a that is unrecaptured section 1250 gain from certain depreciable real property. +See the Unrecaptured Section 1250 Gain Worksheet - Line 19 in the instructions for Schedule D (Form 1040). +Continued +" +1099-div,"9191 +VOID +CORRECTED +PAYER'S name, street address, city or town, state or province, country, ZIP 1a Total ordinary dividends +OMB No. 1545-0110 +or foreign postal code, and telephone no. +RBC dominion securities inc +$ 14253.43 +180 Wellington St W9th floor +2014 +Dividends and +1b Qualified dividends +Distributions +Toronto, ON M5J 0C2 +14253.43 +$ +Form 1099-DIV +2a Total capital gain distr. +2b Unrecap. Sec. 1250 gain +124.94 +Copy A +$ +$ 0.00 +For +PAYER'S federal identification number +RECIPIENT'S identification number +2c Section 1202 gain +2d Collectibles (28%) gain +Internal Revenue +Service Center +98-0235 +XXX-XX-238 +0.00 +0.00 +File with Form 1096. +$ +$ +RECIPIENT'S name +3 Nondividend distributions +4 Federal income tax withheld +AAR +STO +$ +959.65 +$ 0.00 +For Privacy Act +5 Investment expenses +and Paperwork +Street address (including apt. no.) +0.00 +Reduction Act +$ +Notice, see the +NO-140 1053 WILSH +BL +6 Foreign tax paid +7 Foreign country or U.S. possession +2014 General +$ 696.67 +Instructions for +City or town, state or province, country, and ZIP or foreign postal code +Certain +LOS ANGELES, CA 90024-4564 +8 Cash liguidation distributions +9 Nongash liguidation distributions +$ 0.00 +$ +0.00 +Information +Returns. +10 Exempt-interest dividends +11 Specified private activity +0.00 +bond interest dividends +0.00 +$ +$ +Account number (see instructions) +2nd TIN not. +12 State +13 State identification no +14 State tax withheld +$ +375-6 +$ +Form +1099-DIV +Cat. No. 14415N +www.irs.gov/form1099div +Department of the Treasury - Internal Revenue Service +Do Not Cut or Separate Forms on This Page - Do Not Cut or Separate Forms on This Page +" +1099-div,"JANUS +Tax Year 2015 +PO Box 55932 +Copy B For Recipient I Keep For Your Records +Boston, MA 02205-5932 +This is important tax information and is being furnished to the +Internal Revenue Service. If you are required to file a return, a +1-800-525-3713 +negligence penalty or other sanction may be imposed on you if +this income is taxable and the IRS determines that it has not +RECIPIENTS Name, Street Address (including apt. no.), City, State, and Zip Code +been reported. +Department of the Treasury - Internal Revenue Service +J +VAND +RECIPIENT'S +Identification +8478 +LITTLE ROCK AR 72227-2122 +Number +Form 1099-DIV +Dividends and Distributions +(OMB No. 1545-0110) +1a. Total Ordinary +1b. Qualified Dividends +2a. Total Capital +3. Nondividend +4. Federal Income +6. Foreign Tax Paid +Dividends +Gain Distributions +Distributions +Tax Withheld +Fund Name: JANUS GROWTH AND INCOME FUND D SHARES +Account No.: 40-2003 +Payer's Fed. ID No.: 84-116 +52.17 +52.17 +326 +0.00 +0.00 +0.00 +Fund Name: JANUS FUND D SHARES +Account No.: 42-2003 +Payer's Fed. ID No.: 84-059 +32.84 +87.06 +796 +0.00 +0.00 +0.00 +Fund Name: JANUS TWENTY FUND D SHARES +Account No.: 43-2003 +Payer's Fed. ID No.: 84-097 +90.13 +90.13 +503 +0.00 +0.00 +0.00 +Fund Name: JANUS ENTERPRISE FUND D SHARES +Account No.: 50-2003 +Payer's Fed. ID No.: 84-120 +26.04 +26.04 +38 +0.00 +0.00 +0.00 +Instructions for Recipient of Form 1099-DIV +Recipient's identification number. For your protection, this form +Box 4. Shows backup withholding. A payer must backup withhold on +may show only the last four digits of your social security number +certain payments if you did not give your taxpayer identification number +(SSN), individual taxpayer identification number (ITIN), adoption +to the payer. See Form W-9, Request for Taxpayer Identification +taxpayer identification number (ATIN), or employer identification +Number and Certification, for information on backup withholding. +number (EIN). However, the issuer has reported your complete +Include this amount on your income tax return as tax withheld. +identification number to the IRS and, where applicable, to state and/or +local governments. +Box 6. Shows the foreign tax you may be able to claim as a deduction +or a credit on Form 1040. See the Form 1040 instructions. +Account number. May show an account or other unique number the +Nominees. If this form includes amounts belonging to another person, +payer assigned to distinguish your account. +you are considered a nominee recipient. You must file Form 1099- +Box 1a. Shows total ordinary dividends that are taxable. Include this +DIV (with a Form 1096) with the IRS for each of the other owners to +amount on line 9a of Form 1040 or 1040A. Also, report it on Schedule +show their share of the income, and you must furnish a Form 1099- +B (Form 1040 or 1040A), if required. +DIV to each. A spouse is not required to file a nominee return to show +amounts owned by the other spouse. See the 2015 General Instructions +Box 1b. Shows the portion of the amount in box 1a that may be +for Certain Information Returns. +eligible for reduced capital gains rates. See Form 1040/1040A +instructions for how to determine this amount. Report the eligible +NOTE: Boxes 2b, 2c, 2d, 5, and 7-14 are not included because they +amount on line 9b, Form 1040 or 1040A. +are not applicable. +Box 2a. Shows total capital gain distributions from a regulated +Future developments: For the latest information about the +investment company or real estate investment trust. Report the +developments related to Form 1099-DIV and its instructions, such as +amounts shown in box 2a on Schedule D (Form 1040), line 13. But, +legislation enacted after they were published, go to +if no amount is shown in boxes 2c-2d and your only capital gains and +www.irs.gov/form1099div. +losses are capital gain distributions, you may be able to report the +The dividend income earned from each fund account registered with +amounts shown in box 2a on line 13 of Form 1040 (line 10 of Form +the same address and taxpayer identification number is separately +1040A) rather than Schedule D. See the Form 1040/1040A instructions. +stated on this form. Each fund account and its earnings may have to +Box 3. Shows the part of the distribution that is nontaxable because +be separately stated on your tax return. To obtain a duplicate copy of +it is a return of your cost (or other basis). You must reduce your cost +your tax form, please log on to janus.com. +(or other basis) by this amount for figuring gain or loss when you sell +your stock. But if you get back all your cost (or other basis), report +future distributions as capital gains. See Pub. 550, Investment Income +and Expenses. +Form 1099-DIV +www.irs.gov/form1099div +" +1099-div,"PAYER'S name, street address, city or town, province or state, +country, ZIP or foreign postal code, and telephone no. +Copy B For Recipient +TAX YEAR 2015 +Carter Validus +P.O. Box 219731 +Department of the Treasury-Internal Revenue Service +This is important tax information and is being furnished +Kansas City, MO 64121-9731 +to the Internal Revenue Service (except as indicated). If +you are required to file a return, a negligence penalty or +1-888-292-3178 +RECIPIENT'S +other sanction may be imposed on you if this income +identification +XXX-XX-0268 +is taxable and the IRS determines that it has not been +number +RECIPIENT'S name, street address (including apt. no.), city or town, +reported. +province or state, country, and ZIP or foreign postal code. +YI +MI +NG TT +TH +YI +MI +HG LIV +TRU +UA DTD 04/12/2010 +(Keep for your Records) +7 +HAM +WA +MILPITAS CA 95035-3846 +Corrected (if checked) +(OMB No. 1545-0110) +Page 1 of 1 +FORM 1099-DIV +DIVIDENDS AND DISTRIBUTIONS +2015 +(1a) +(1b) +(2a) +(2b) +(2d) +(3) +(4) +(6) +(8) +(10) +(11) +Total +Qualified +Total +Unrecap. sec. +Collectibles +Nondividend +Federal income +Foreign +Cash liquidation +Exempt- +Specified private +ordinary +dividends +capital gain +1250 gain +(28%) gain +distributions +tax withheld +tax paid* +distributions +interest +dividends +distributions +activity bond +dividends +interest dividends +Fund: CARTER VALIDUS MISSION CRITICAL +Fund-Acct. no.: 6601-2001 +PAYER'S Fed. ID no.: 27-1550 +26.98 +0.00 +0.00 +0.00 +0.00 +73.34 +0.00 +0.00 +0.00 +0.00 +0.00 +Form 1099-DIV +*Please see instructions for additional details. +" +1099-div,"To: Me Here +Page 3 of 10 +2019-12-28 17:13:32 (GMT) +19185 +From: Molly B +Redpient s Name and Address +Account Number: TRX-7006 +2018 +YOURTAX INFORMATION STATEMENT +ERH +ERD +Reipient'sidentification +As of 03/08/ 2019 +33 NO STREE +Number: ***.**-804 +Mailed by 03/ 15/ 2019 +DIVIDENDS AND DISTRIBUTIONS (Details of Form 1099-DIV) +(continued) +Total +* Total Capital +Federal +Ordinary +Qualified +Gain +Nondividend +Innome +Sedion 199A +Investment +Foreign Tax +Eiviciands +Expenses +State (Ecx 13) / +State Tax +Date +Dividends +Dividends +Distributions +Distributions +Tax Withheld +Paid +Withheld +Description +Paid +(Bbx ta) +(Box 1b) +(Box2a) +(Exx3) +(Box4) +(Box 5) +(Box6) +(Box7) +StatelDNumber (Exx 14) +(Box 15) +IS-AFESTRMGROCAP +03/28/2018 +2.59 +1.27 +EIF +5-FRAC7300 +QUSP. 464288869 +.PMCRGANGHASE& +04/30/2018 +1.93 +1.93 +COCOM +07/31/2018 +1.93 +1.93 +5- PRAC4500 +3.86 +3.86 +CUSP. 46625H00 +09/11/2018 +3.38 +3.38 +COM +12/11/2018 +3.38 +3.38 +5- PRAC7600 +QUSP. 478160104 +6.76 +6.76 +11/26/2018 +0.88 +0.88 +-FRAC610 +CUBP. 488360207 +KENEDY-WLSONHDGS +04/05/2018 +0.91 +0.91 +2.98 +INCOCM +07/05/2018 +0.91 +0.91 +2.98 +5- PRAC4900 +10/04/2018 +0.91 +0.91 +2.98 +2.73 +2.73 +8.94 +03/15/2018 +5.09 +COM +04/16/2018 +5.09 +5-FRAC7800 +05/15/2018 +5.09 +CUSP. 56036.04 +06/15/2018 +5.09 +06/26/2018 +7.36 +07/16/2018 +5.09 +08/15/2018 +0.14 +0.14 +4.95 +09/14/2018 +5.09 +4.27 +Page 51 of 65 +Rabect Excellent +Clearing through Pershing LLC a wholly owned +paperless +BNY Meflon's Pershing Tax Statement +subsidiary of The Bank of New York Mellon +DALBAR RATED COMMUNICATONS +Corporation (8NY Mellon) +EXCELLENCE +LLC, member FINRA, NYSE, SIPE +" +1099-div,"IMPORTANT TAX DOCUMENT +Vanguard +Contact Info: 800-662-2739 +RECIPIENT'S TIN: XXX-XX-7377 +MIC +2018 Form 1099-DIV +P.O. Box 2600 +JO +SOL +Valley Forge, PA 19482 - 2600 +21 +33 +AP +Dividends and Distributions +ASTORIA NY 11105-2317 +Copy B For Recipient +OMB No. 1545-0110 +State +identification +PAYER'S +Recipient +State +no. +Fund Name +TIN +Account number +(Box 13) +(Box 14) +Specified +Total +Unrecap. +Federal income +private activity +ordinary +Qualified +Total capital +Sec. 1250 +Nondividend +tax +Section 199A +Exempt-interest +bond interest +State tax +dividends +dividends +gain distr. +gain +distributions +withheld +dividends +Foreign tax paid +dividends +dividends +withheld +(Box 1a) +(Box 1b) +(Box 2a) +(Box 2b) +(Box 3) +(Box 4) +(Box 5) +(Box 7) +(Box 11) +(Box 12) +(Box 15) +500 INDEX FUND INV +23-199 +8807313 +57 +57 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +0.00 +This is important tax information and is being furnished to the IRS (except as indicated). If you are required to file a return, a negligence penalty or other sanction may be imposed on you if this income is taxable +and the IRS determines that it has not been reported. Please Note: Each specific fund name, NOT simply Vanguard, must be reported along with the related tax information on Form 1040, Schedule(s) B and D. +This applies to Form 1099-DIV. CUSIP® is a trademark of American Bankers Association. +(keep for your records) +Page 1 of 2 +" +1099-int,"9292 +VOID +CORRECTED +PAYER'S name, street address, city or town, state or province, country, ZIP +Payer's RTN (optional) +OMB No. 1545-0112 +or foreign postal code, and telephone no. +NA +Interest +2018 +1 Interest income +Income +$ 1000 +Form 1099-INT +Martin, 1984 Lena Lane, Polkville, Mississippi, +2 Early withdrawal penalty +Copy A +us, 39117, 601-537-9676 +PAYER'S TIN +RECIPIENT'S TIN +$2000 +For +3 Interest on U.S. Savings Bonds and Treas. obligations +34564 +2423543 +Internal Revenue +Service Center +$ 500 +RECIPIENT'S name +4 Federal income tax withheld +5 Investment expenses +File with Form 1096. +Martin +$ 1000 +$ 1000 +6 Foreign tax paid +7 Foreign country or U.S. possession +For Privacy Act +Street address (including apt. no.) +$2000 +us +and Paperwork +260 Center Avenue, +8 Tax-exempt interest +9 Specified private activity bond +Reduction Act +interest +Notice, see the +City or town, state or province, country, and ZIP or foreign postal code +$ 500 +$ 400 +2018 General +10 Market discount +11 Bond premium +Instructions for +Fresno, California, us, 93711 +Certain +FATCA filing +$ 400 +$ 600 +Information +requirement +Returns. +12 Bond premium on Treasury obligations +13 Bond premium on tax-exempt bond +$ 600 +$ 500 +Account number (see instructions) +2nd TIN not. +14 Tax-exempt and tax credit +15 State +16 State identification no. +17 State tax withheld +bond CUSIP no. +FL +34564 +$2000 +657876667 +NA +WA +67900 +$ 1000 +Form +1099-INT +Cat. No. 14410K +www.irs.gov/Form1099INT +Department of the Treasury - Internal Revenue Service +Do Not Cut or Separate Forms on This Page - Do Not Cut or Separate Forms on This Page +" +1099-int,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, country, ZIP +Payer's RTN (optional) +OMB No. 1545-0112 +or foreign postal code, and telephone no. +Interest +NA +2018 +1 Interest income +Income +$ +1000 +Form 1099-INT +Martin, 1984 Lena Lane, Polkville, Mississippi, US, 39117, +2 Early withdrawal penalty +Copy B +601-537-9676 +PAYER'S TIN +RECIPIENT'S TIN +$ +500 +For Recipient +3 Interest on U.S. Savings Bonds and Treas. obligations +2423543 +4323433 +$ +200 +RECIPIENT'S name +4 Federal income tax withheld +5 Investment expenses +This is important tax +$ +1000 +$ +information and is +500 +being furnished to the +Peter +6 Foreign tax paid +7 Foreign country or U.S. possession +IRS. If you are +Street address (including apt. no.) +$ +2000 +US +required to file a +8 Tax-exempt interest +9 Specified private activity bond +return, a negligence +interest +penalty or other +260 Center Avenue, +sanction may be +City or town, state or province, country, and ZIP or foreign postal code +$ +1500 +$ +1500 +imposed on you if +10 Market discount +11 Bond premium +this income is +taxable and the IRS +Fresno, California, US, 93711 +determines that it has +FATCA filing +$ +500 +$ +1000 +not been reported. +requirement +12 Bond premium on Treasury obligations +13 Bond premium on tax-exempt bond +$ +1000 +$ +500 +Account number (see instructions) +14 Tax-exempt and tax credit +15 State +16 State identification no. +17 State tax withheld +bond CUSIP no. +34564 +$ +2000 +657876667 +NA +23543 +$ +1000 +Form +1099-INT +(keep for your records) +www.irs.gov/Form1099INT +Department of the Treasury - Internal Revenue Service +" +1099-int,"VOID +CORRECTED +PAYER'S name, street address, city or town, state or province, country, ZIP +Payer's RTN (optional) +OMB No. 1545-0112 +or foreign postal code, and telephone no. +Interest +NA +2018 +1 Interest income +Income +$ +1000 +Form 1099-INT +Martin, 1984 Lena Lane, Polkville, Mississippi, US, 39117, +2 Early withdrawal penalty +Copy 1 +601-537-9676 +PAYER'S TIN +RECIPIENT'S TIN +$ +500 +For State Tax +3 Interest on U.S. Savings Bonds and Treas. obligations +Department +2423543 +4323433 +$ +200 +RECIPIENT'S name +4 Federal income tax withheld +5 Investment expenses +$ +1000 +$ +500 +Peter +6 Foreign tax paid +7 Foreign country or U.S. possession +Street address (including apt. no.) +$ +2000 +US +8 Tax-exempt interest +9 Specified private activity bond +interest +260 Center Avenue, +City or town, state or province, country, and ZIP or foreign postal code +$ +1500 +$ +1500 +10 Market discount +11 Bond premium +Fresno, California, US, 93711 +FATCA filing +$ +500 +$ +1000 +requirement +12 Bond premium on Treasury obligations +13 Bond premium on tax-exempt bond +$ +1000 +$ +500 +Account number (see instructions) +14 Tax-exempt and tax credit +15 State +16 State identification no. +17 State tax withheld +bond CUSIP no. +34564 +$ +2000 +657876667 +NA +23543 +$ +1000 +Form +1099-INT +www.irs.gov/Form1099INT +Department of the Treasury - Internal Revenue Service +" +1099-int,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, country, ZIP +Payer's RTN (optional) +OMB No. 1545-0112 +or foreign postal code, and telephone no. +Interest +NA +2018 +1 Interest income +Income +$ +1000 +Form 1099-INT +Martin, 1984 Lena Lane, Polkville, Mississippi, US, 39117, +2 Early withdrawal penalty +Copy B +601-537-9676 +PAYER'S TIN +RECIPIENT'S TIN +$ +500 +For Recipient +3 Interest on U.S. Savings Bonds and Treas. obligations +2423543 +4323433 +$ +200 +RECIPIENT'S name +4 Federal income tax withheld +5 Investment expenses +This is important tax +$ +1000 +$ +information and is +500 +being furnished to the +Peter +6 Foreign tax paid +7 Foreign country or U.S. possession +IRS. If you are +Street address (including apt. no.) +$ +2000 +US +required to file a +8 Tax-exempt interest +9 Specified private activity bond +return, a negligence +interest +penalty or other +260 Center Avenue, +sanction may be +City or town, state or province, country, and ZIP or foreign postal code +$ +1500 +$ +1500 +imposed on you if +10 Market discount +11 Bond premium +this income is +taxable and the IRS +Fresno, California, US, 93711 +determines that it has +FATCA filing +$ +500 +$ +1000 +not been reported. +requirement +12 Bond premium on Treasury obligations +13 Bond premium on tax-exempt bond +$ +1000 +$ +500 +Account number (see instructions) +14 Tax-exempt and tax credit +15 State +16 State identification no. +17 State tax withheld +bond CUSIP no. +34564 +$ +2000 +657876667 +NA +23543 +$ +1000 +Form +1099-INT +(keep for your records) +www.irs.gov/Form1099INT +Department of the Treasury - Internal Revenue Service +" +1099-int,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, country, ZIP +Payer's RTN (optional) +OMB No. 1545-0112 +or foreign postal code, and telephone no. +Interest +NA +2018 +1 Interest income +Income +$ +1000 +Form 1099-INT +Martin, 1984 Lena Lane, Polkville, Mississippi, US, 39117, +2 Early withdrawal penalty +Copy 2 +601-537-9676 +PAYER'S TIN +RECIPIENT'S TIN +$ +500 +3 Interest on U.S. Savings Bonds and Treas. obligations +2423543 +4323433 +$ +200 +RECIPIENT'S name +4 Federal income tax withheld +5 Investment expenses +$ +1000 +$ +500 +Peter +6 Foreign tax paid +7 Foreign country or U.S. possession +To be filed with +Street address (including apt. no.) +$ +recipient's state +2000 +US +income tax +8 Tax-exempt interest +9 Specified private activity bond +interest +return, when +260 Center Avenue, +required. +City or town, state or province, country, and ZIP or foreign postal code +$ +1500 +$ +1500 +10 Market discount +11 Bond premium +Fresno, California, US, 93711 +FATCA filing +$ +500 +$ +1000 +requirement +12 Bond premium on Treasury obligations +13 Bond premium on tax-exempt bond +$ +1000 +$ +500 +Account number (see instructions) +14 Tax-exempt and tax credit +15 State +16 State identification no. +17 State tax withheld +bond CUSIP no. +34564 +$ +2000 +657876667 +NA +23543 +$ +1000 +Form +1099-INT +www.irs.gov/Form1099INT +Department of the Treasury - Internal Revenue Service +" +1099-int,"VOID +CORRECTED +PAYER'S name, street address, city or town, state or province, country, ZIP +Payer's RTN (optional) +OMB No. 1545-0112 +or foreign postal code, and telephone no. +Interest +NA +2018 +1 Interest income +Income +$ +1000 +Form 1099-INT +Martin, 1984 Lena Lane, Polkville, Mississippi, US, 39117, +2 Early withdrawal penalty +Copy C +601-537-9676 +PAYER'S TIN +RECIPIENT'S TIN +$ +500 +3 Interest on U.S. Savings Bonds and Treas. obligations +For Payer +2423543 +4323433 +$ +200 +RECIPIENT'S name +4 Federal income tax withheld +5 Investment expenses +$ +1000 +$ +500 +Peter +6 Foreign tax paid +7 Foreign country or U.S. possession +For Privacy Act +Street address (including apt. no.) +$ +2000 +US +and Paperwork +Reduction Act +8 Tax-exempt interest +9 Specified private activity bond +interest +Notice, see the +260 Center Avenue, +2018 General +City or town, state or province, country, and ZIP or foreign postal code +$ +1500 +$ +1500 +Instructions for +10 Market discount +11 Bond premium +Certain +Fresno, California, US, 93711 +Information +FATCA filing +$ +500 +$ +1000 +Returns. +requirement +12 Bond premium on Treasury obligations +13 Bond premium on tax-exempt bond +$ +1000 +$ +500 +Account number (see instructions) +2nd TIN not. +14 Tax-exempt and tax credit +15 State +16 State identification no. +17 State tax withheld +bond CUSIP no. +34564 +$ +2000 +657876667 +NA +23543 +$ +1000 +Form +1099-INT +www.irs.gov/Form1099INT +Department of the Treasury - Internal Revenue Service +" +1099-int,"9292 +VOID +CORRECTED +PAYER'S name, street address, city or town, state or province. country. ZIP +Payer's RTN (optional) +OMB No. 1545-0112 +or foreign postal code. and telephone no. +100110101 +TAX2EFILE +2021 +Interest +1 Interest income +Income +950 HERNDON PARKWAY, SUITE 410, +HERNDON, VA 20170 +$ 170,000.00 +Form 1099-INT +703-229-0326 +2 Early withdrawal penalty +Copy A +1,500.00 +PAYER'S TIN +RECIPIENT'S TIN +$ +For +3 Interest on U.S. Savings Bonds and Treas. obligations +Internal Revenue +12-52903249 +18,500.00 +Service Center +102110093 +$ +RECIPIENT'S name +4 Federal income tax withheld +5 Investment expenses +File with Form 1096. +$ +0.00 +$ 4,500.00 +JIM GARRY +6 Foreign tax paid +7 Foreign country or U.S. possession +For Privacy Act +Street address (including apt. no.) +$ 0.00 +and Paperwork +8 Tax-exempt interest +9 Specified private activity bond +Reduction Act +650 HERNDON PARKWAY, SUITE 140 +interest +0.00 +$ +$ +1,000.00 +Notice, see the +City or town, state or province. country. and ZIP or foreign postal code +2021 General +10 Market discount +11 Bond premium +Instructions for +HERNDON, VA 20170 +Certain +FATCA filing +$ 1,500.00 +$ 0.00 +Information +requirement +Returns. +12 Bond pernium on Trassury obligations +13 Bond premium on tax-exempt bond +$ 0.00 +$ 0.00 +Account number (see instructions) +2nd TIN not. +14 Tax-exempt and tax credit +15 State +16 State identification no. +17 State tax withheld +bond CUSIP no. +2158903450 +MD. +222170 +$ +Form +1099-INT +Cat. No. 14410K +www.irs.gov/Form1099IN +Department of the Treasury - Internal Revenue Service +" +1099-int,"VOID +CORRECTED +PAYER'S name, street address, city or town, state or province, country, ZIP +Payer's RTN (optional) +OMB No. 1545-0112 +or foreign postal code, and telephone no. +Interest +NA +2018 +1 Interest income +Income +$ +1000 +Form 1099-INT +Martin, 1984 Lena Lane, Polkville, Mississippi, US, 39117, +2 Early withdrawal penalty +Copy 1 +601-537-9676 +PAYER'S TIN +RECIPIENT'S TIN +$ +500 +For State Tax +3 Interest on U.S. Savings Bonds and Treas. obligations +Department +2423543 +4323433 +$ +200 +RECIPIENT'S name +4 Federal income tax withheld +5 Investment expenses +$ +1000 +$ +500 +Peter +6 Foreign tax paid +7 Foreign country or U.S. possession +Street address (including apt. no.) +$ +2000 +US +8 Tax-exempt interest +9 Specified private activity bond +interest +260 Center Avenue, +City or town, state or province, country, and ZIP or foreign postal code +$ +1500 +$ +1500 +10 Market discount +11 Bond premium +Fresno, California, US, 93711 +FATCA filing +$ +500 +$ +1000 +requirement +12 Bond premium on Treasury obligations +13 Bond premium on tax-exempt bond +$ +1000 +$ +500 +Account number (see instructions) +14 Tax-exempt and tax credit +15 State +16 State identification no. +17 State tax withheld +bond CUSIP no. +34564 +$ +2000 +657876667 +NA +23543 +$ +1000 +Form +1099-INT +www.irs.gov/Form1099INT +Department of the Treasury - Internal Revenue Service +" +1099-int,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, country, ZIP +Payer's RTN (optional) +OMB No. 1545-0112 +or foreign postal code, and telephone no. +Interest +NA +2018 +1 Interest income +Income +$ +1000 +Form 1099-INT +Martin, 1984 Lena Lane, Polkville, Mississippi, US, 39117, +2 Early withdrawal penalty +Copy B +601-537-9676 +PAYER'S TIN +RECIPIENT'S TIN +$ +500 +For Recipient +3 Interest on U.S. Savings Bonds and Treas. obligations +2423543 +4323433 +$ +200 +RECIPIENT'S name +4 Federal income tax withheld +5 Investment expenses +This is important tax +$ +1000 +$ +information and is +500 +being furnished to the +Peter +6 Foreign tax paid +7 Foreign country or U.S. possession +IRS. If you are +Street address (including apt. no.) +$ +2000 +US +required to file a +8 Tax-exempt interest +9 Specified private activity bond +return, a negligence +interest +penalty or other +260 Center Avenue, +sanction may be +City or town, state or province, country, and ZIP or foreign postal code +$ +1500 +$ +1500 +imposed on you if +10 Market discount +11 Bond premium +this income is +taxable and the IRS +Fresno, California, US, 93711 +determines that it has +FATCA filing +$ +500 +$ +1000 +not been reported. +requirement +12 Bond premium on Treasury obligations +13 Bond premium on tax-exempt bond +$ +1000 +$ +500 +Account number (see instructions) +14 Tax-exempt and tax credit +15 State +16 State identification no. +17 State tax withheld +bond CUSIP no. +34564 +$ +2000 +657876667 +NA +23543 +$ +1000 +Form +1099-INT +(keep for your records) +www.irs.gov/Form1099INT +Department of the Treasury - Internal Revenue Service +" +1099-int,"VOID +CORRECTED +PAYER'S name, street address, city or town, state or province, country, ZIP +Payer's RTN (optional) +OMB No. 1545-0112 +or foreign postal code, and telephone no. +Interest +2019 +1 Interest income +Income +$ +75.98 +Form 1099-INT +CAPITAL ONE N.A. +1680 CAPITAL ONE DR +2 Early withdrawal penalty +Copy 1 +MCLEAN, VA 22102 +PAYER'S TIN +RECIPIENT'S TIN +$ +For State Tax +3 Interest on U.S. Savings Bonds and Treas. obligations +Department +11-2233445 +$ +RECIPIENT'S name +4 Federal income tax withheld +5 Investment expenses +$ +$ +HARRY POTTER +6 Foreign tax paid +7 Foreign country or U.S. possession +Street address (including apt. no.) +$ +8 Tax-exempt interest +9 Specified private activity bond +interest +38 6TH AVE #1610 +City or town, state or province, country, and ZIP or foreign postal code +$ +$ +10 Market discount +11 Bond premium +BUFFALO, NY 11219 +FATCA filing +$ +$ +requirement +12 Bond premium on Treasury obligations +13 Bond premium on tax-exempt bond +$ +$ +Account number (see instructions) +14 Tax-exempt and tax credit +15 State +16 State identification no. +17 State tax withheld +bond CUSIP no. +& +" +1099-misc,"9595 +VOID +CORRECTED +PAYER'S name, street address, city or town, state or province, country, ZIP +1 Rents +OMB No. 1545-0115 +or foreign postal code, and telephone no. +joel,1724 Norma Lane,6736834,9879687585 +$46 +2021 +Miscellaneous +2 Royalties +Information +$46 +Form 1099-MISC +3 Other income +4 Federal income tax withheld +Copy A +$ 46 +$46 +For +PAYER'S TIN +RECIPIENT'S TIN +5 Fishing boat proceeds +6 Medical and health care payments +Internal Revenue +Service Center +5345345346 +6346463434 +$ 46 +$ 64 +File with Form 1096. +RECIPIENT'S name +7 Payer made direct sales +8 Substitute payments in lieu of +For Privacy Act +joel +totaling $5,000 or more of +dividends or interest +consumer products to +and Paperwork +recipient for resale +$ 64 +Reduction Act +Street address (including apt. no.) +9 Crop insurance proceeds +10 Gross proceeds paid to an +Notice, see the +3987 Ray Court +attorney +2021 General +$56 +$34 +Instructions for +12 Section 409A deferrals +Certain +City or town, state or province, country, and ZIP or foreign postal code +11 Fish purchased for resale +Information +Wilson, Texas,United States,432325 +Returns. +$65 +$32 +Account number (see instructions) +FATCA filing +2nd TIN not +13 Excess golden parachute +14 Nonqualified deferred +requirement +payments +compensation +543546456546 +$64 +$ 64 +15 State tax withheld +16 State/Payer's state no. +17 State income +$6 +5445 +$56 +$7 +64554 +$66 +Form +1099-MISC +Cat. No. 14425J +www.irs.gov/Form1099MISC +Department of the Treasury - Internal Revenue Service +Do Not Cut or Separate Forms on This Page - Do Not Cut or Separate Forms on This Page +" +1099-misc,"VOID +CORRECTED +PAYER'S name, street address, city or town, state or province, country, ZIP +1 Rents +OMB No. 1545-0115 +or foreign postal code, and telephone no. +$ 54 +joel,1724 Norma Lane,6736834,9879687585 +2021 +Miscellaneous +2 Royalties +Information +$ 64 +Form 1099-MISC +3 Other income +4 Federal income tax withheld +$45 +$54 +Copy 1 +PAYER'S TIN +RECIPIENT'S TIN +5 Fishing boat proceeds +6 Medical and health care payments +For State Tax +54354343 +463465465 +Department +$ 65 +$76 +RECIPIENT'S name +7 Payer made direct sales +8 Substitute payments in lieu of +joel +totaling $5,000 or more of +dividends or interest +consumer products to +recipient for resale +$ 543 +Street address (including apt. no.) +9 Crop insurance proceeds +10 Gross proceeds paid to an +attorney +3987 Ray Court +$ 6 +$32 +City or town, state or province, country, and ZIP or foreign postal code +11 Fish purchased for resale +12 Section 409A deferrals +Wilson, Texas, United States,432325 +$44 +$ 45 +Account number (see instructions) +FATCA filing +13 Excess golden parachute +14 Nonqualified deferred +requirement +payments +compensation +53543543664436 +$65 +$67 +15 State tax withheld +16 State/Payer's state no. +17 State income +$23 +545455 +$ 56 +$ 33 +645654 +$ 55 +Form +1099-MISC +www.irs.gov/Form1099MISC +Department of the Treasury - Internal Revenue Service +" +1099-misc,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, country, ZIP +1 Rents +OMB No. 1545-0115 +or foreign postal code, and telephone no. +$33 +joel, 1724 Norma Lane,6736834,9879687585 +2021 +Miscellaneous +2 Royalties +Information +$22 +Form 1099-MISC +3 Other income +4 Federal income tax withheld +Copy B +$33 +$44 +For Recipient +PAYER'S TIN +RECIPIENT'S TIN +5 Fishing boat proceeds +6 Medical and health care payments +4343243 +4332435 +$ 34 +$ 64 +RECIPIENT'S name +7 Payer made direct sales +8 Substitute payments in lieu of +totaling $5,000 or more of +dividends or interest +This is important tax +joel +consumer products to +information and is +recipient for resale +$ 66 +being furnished to +Street address (including apt. no.) +9 Crop insurance proceeds +10 Gross proceeds paid to an +the IRS. If you are +attorney +required to file a +3987 Ray Court +return, a negligence +$ 54 +$ 77 +penalty or other +City or town, state or province, country, and ZIP or foreign postal code +11 Fish purchased for resale +12 Section 409A deferrals +sanction may be +imposed on you if +Wilson, Texas,United States,432325 +this income is +$ 64 +$ 87 +taxable and the IRS +Account number (see instructions) +FATCA filing +13 Excess golden parachute +14 Nonqualified deferred +determines that it +requirement +payments +compensation +has not been +reported. +5435436546546 +$ 54 +$ +15 State tax withheld +16 State/Payer's state no. +17 State income +$ 465454 +54757 +$ 5765 +$ +76576 +457657657 +$ 6776 +Form +1099-MISC +(keep for your records) +www.irs.gov/Form1099MISC +Department of the Treasury - Internal Revenue Service +" +1099-misc,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, country, ZIP +1 Rents +OMB No. 1545-0115 +or foreign postal code, and telephone no. +$454 +joel,1724 Norma Lane,6736834,9879687585 +2021 +Miscellaneous +2 Royalties +Information +$ 45 +Form 1099-MISC +3 Other income +4 Federal income tax withheld +$ 54 +$ 33 +Copy 2 +PAYER'S TIN +RECIPIENT'S TIN +5 Fishing boat proceeds +6 Medical and health care payments +To be filed with +54543543543 +4543534534 +recipient's state +income tax return, +$ 55 +$22 +when required. +RECIPIENT'S name +7 Payer made direct sales +8 Substitute payments in lieu of +joel +totaling $5,000 or more of +dividends or interest +consumer products to +recipient for resale +$ 534 +Street address (including apt. no.) +9 Crop insurance proceeds +10 Gross proceeds paid to an +attorney +3987 Ray Court +$ 22 +$43 +City or town, state or province, country, and ZIP or foreign postal code +11 Fish purchased for resale +12 Section 409A deferrals +Wilson, Texas, United States,432325 +$ 43 +$ 55 +Account number (see instructions) +FATCA filing +13 Excess golden parachute +14 Nonqualified deferred +requirement +payments +compensation +345345436546456546 +$ 65 +$ 43 +15 State tax withheld +16 State/Payer's state no. +17 State income +$43 +5465654 +$ 65 +$43 +654564 +$ 55 +Form +1099-MISC +www.irs.gov/Form1099MISC +Department of the Treasury - Internal Revenue Service +" +1099-misc,"VOID +CORRECTED +PAYER'S name, street address, city or town, state or province, country, ZIP +1 Rents +OMB No. 1545-0115 +or foreign postal code, and telephone no. +joel, 1724 Norma Lane,6736834,9879687585 +$43 +2021 +Miscellaneous +2 Royalties +Information +$66 +Form 1099-MISC +3 Other income +4 Federal income tax withheld +Copy C +$43 +$ 34 +For Payer +PAYER'S TIN +RECIPIENT'S TIN +5 Fishing boat proceeds +6 Medical and health care payments +4654654656 +564654645 +$33 +$35 +RECIPIENT'S name +7 Payer made direct sales +8 Substitute payments in lieu of +totaling $5,000 or more of +dividends or interest +For Privacy Act +joel +consumer products to +and Paperwork +recipient for resale +$ 24 +Reduction Act +Street address (including apt. no.) +9 Crop insurance proceeds +10 Gross proceeds paid to an +Notice, see the +attorney +3987 Ray Court +2021 General +$65 +$24 +Instructions for +City or town, state or province, country, and ZIP or foreign postal code +11 Fish purchased for resale +12 Section 409A deferrals +Certain +Wilson, Texas,United States,432325 +Information +$23 +$ 12 +Returns. +Account number (see instructions) +FATCA filing +2nd TIN not +13 Excess golden parachute +14 Nonqualified deferred +requirement +payments +compensation +634436555544 +$ 66 +$ 21 +15 State tax withheld +16 State/Payer's state no. +17 State income +$ 54 +33232432 +$ +432432 +$ 232 +432234234 +$ 3423423 +Form +1099-MISC +www.irs.gov/Form1099MISC +Department of the Treasury - Internal Revenue Service +" +1099-misc,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, country, ZIP +1 Rents +OMB No. 1545-0115 +or foreign postal code, and telephone no. +$ 1,500 +2018 +Miscellaneous +Yale University +2 Royalties +Income +P.O. Box 208239 +$ 250 +Form 1099-MISC +New Haven, CT 06520-8239 +3 Other income +4 Federal income tax withheld +$ +18,000 +Copy B +$ +3200 +For Recipient +PAYER'S TIN +RECIPIENT'S TIN +5 Fishing boat proceeds +6 Medical and health care payments +99-9999999 +XXX-XX-9999 +$ +$ +600 +RECIPIENT'S name +7 Nonemployee compensation +8 Substitute payments in lieu of +dividends or interest +This is important tax +John Doe +information and is +being furnished to +Street address (including apt. no.) +$ 12,000 +$ +the IRS. If you are +9 Payor made direct sales of +10 Crop insurance proceeds +required to file a +150 Munson Street +$5,000 or more of consumer +return, a negligence +products to a buyor +penalty or other +City or town, state or province, country, and ZIP or foreign postal code +(recipient) for resale +$ +sanction may be +11 +12 +imposed on you if +New Haven, CT 06511 +this income is +taxable and the IRS +Account number (see instructions) +FATCA filing +13 Excess golden parachute +14 Gross proceeds paid to an +determines that it +requirement +payments +attorney +has not been +$ +500 +reported. +$ +15a Section 409A deferrals +15b Section 409A income +16 State tax withheld +17 State/Payer's state no. +18 State income +$ +CT +$ +$ +$ +$ +$ +Form 1099-MISC +(keep for your records) +www.irs.gow/Form1099MISC +Department of the Treasury - Internal Revenue Service +" +1099-misc,"VOID +CORRECTED +PAYER'S name, street address, city or town, state or province, country, ZIP +1 Rents +OMB No. 1545-0115 +or foreign postal code, and telephone no. +Daniel K. +$ +7540 Washington Blvd +2020 +Miscellaneous +2 Royalties +Income +Elkridge, MD 21075 +$ +Form 1099-MISC +3 Other income +4 Federal income tax withheld +$ +15,000.00 +$ +Copy 1 +PAYER'S TIN +RECIPIENT'S TIN +5 Fishing boat proceeds +6 Medical and health care payments +For State Tax +Department +22-6785901 +132-67-0987 +$ +$ +RECIPIENT'S name +7 Payer made direct sales of +8 Substitute payments in lieu of +$5,000 or more of consumer +dividends or interest +David Johns +products to a buyer +(recipient) for resale +$ +Street address (including apt. no.) +9 Crop insurance proceeds +10 Gross proceeds paid to an +attorney +3801 Eastern Ave +$ +$ +City or town, state or province, country, and ZIP or foreign postal code +11 +12 Section 409A deferrals +Baltimore, MD 21224 +$ +Account number (see instructions) +FATCA filing +13 Excess golden parachute +14 Nonqualified deferred +requirement +payments +compensation +$ +$ +15 State tax withheld +16 State/Payer's state no. +17 State income +$ +$ +$ +$ +Form 1099-MISC +www.irs.gov/Form1099MISC +Department of the Treasury - Internal Revenue Service +" +1099-misc,"9595 +VOID +CORRECTED +PAYER'S name, street address, city or town, state or province, country, ZIP +1 Rents +OMB No. 1545-0115 +or foreign postal code, and telephone no. +joel,1724 Norma Lane,6736834,9879687585 +$46 +2021 +Miscellaneous +2 Royalties +Information +$46 +Form 1099-MISC +3 Other income +4 Federal income tax withheld +Copy A +$ 46 +$46 +For +PAYER'S TIN +RECIPIENT'S TIN +5 Fishing boat proceeds +6 Medical and health care payments +Internal Revenue +Service Center +5345345346 +6346463434 +$ 46 +$ 64 +File with Form 1096. +RECIPIENT'S name +7 Payer made direct sales +8 Substitute payments in lieu of +For Privacy Act +joel +totaling $5,000 or more of +dividends or interest +consumer products to +and Paperwork +recipient for resale +$ 64 +Reduction Act +Street address (including apt. no.) +9 Crop insurance proceeds +10 Gross proceeds paid to an +Notice, see the +3987 Ray Court +attorney +2021 General +$56 +$34 +Instructions for +12 Section 409A deferrals +Certain +City or town, state or province, country, and ZIP or foreign postal code +11 Fish purchased for resale +Information +Wilson, Texas,United States,432325 +Returns. +$65 +$32 +Account number (see instructions) +FATCA filing +2nd TIN not +13 Excess golden parachute +14 Nonqualified deferred +requirement +payments +compensation +543546456546 +$64 +$ 64 +15 State tax withheld +16 State/Payer's state no. +17 State income +$6 +5445 +$56 +$7 +64554 +$66 +Form +1099-MISC +Cat. No. 14425J +www.irs.gov/Form1099MISC +Department of the Treasury - Internal Revenue Service +Do Not Cut or Separate Forms on This Page - Do Not Cut or Separate Forms on This Page +" +1099-misc,"VOID +CORRECTED +PAYER'S name, street address, city or town, state or province, country, ZIP +1 Rents +OMB No. 1545-0115 +or foreign postal code, and telephone no. +$ 54 +joel,1724 Norma Lane,6736834,9879687585 +2021 +Miscellaneous +2 Royalties +Information +$ 64 +Form 1099-MISC +3 Other income +4 Federal income tax withheld +$45 +$54 +Copy 1 +PAYER'S TIN +RECIPIENT'S TIN +5 Fishing boat proceeds +6 Medical and health care payments +For State Tax +54354343 +463465465 +Department +$ 65 +$76 +RECIPIENT'S name +7 Payer made direct sales +8 Substitute payments in lieu of +joel +totaling $5,000 or more of +dividends or interest +consumer products to +recipient for resale +$ 543 +Street address (including apt. no.) +9 Crop insurance proceeds +10 Gross proceeds paid to an +attorney +3987 Ray Court +$ 6 +$32 +City or town, state or province, country, and ZIP or foreign postal code +11 Fish purchased for resale +12 Section 409A deferrals +Wilson, Texas, United States,432325 +$44 +$ 45 +Account number (see instructions) +FATCA filing +13 Excess golden parachute +14 Nonqualified deferred +requirement +payments +compensation +53543543664436 +$65 +$67 +15 State tax withheld +16 State/Payer's state no. +17 State income +$23 +545455 +$ 56 +$ 33 +645654 +$ 55 +Form +1099-MISC +www.irs.gov/Form1099MISC +Department of the Treasury - Internal Revenue Service +" +1099-misc,"9595 +VOID +CORRECTED +PAYER'S name, street address, city or town, state or province, country, ZIP +1 Rents +OMB No. 1545-0115 +or foreign postal code, and telephone no. +P. Sakhatskyi +$ +2019 +Miscellaneous +795 Folsom St +2 Royalties +Income +San Francisco, CA 94107 +$ +Form 1099-MISC +3 Other income +4 Federal income tax withheld +Copy A +$ +$ +For +PAYER'S TIN +RECIPIENT'S TIN +5 Fishing boat proceeds +6 Medical and health care payments +Internal Revenue +Service Center +12-1234567 +SSN or EIN +$ +$ +File with Form 1096. +RECIPIENT'S name +7 Nonemployee compensation +8 Substitute payments in lieu of +dividends or interest +For Privacy Act +Nikita Bilyk +$10,000.00 +and Paperwork +Reduction Act +Street address (including apt. no.) +$ +$ +Notice, see the +795 Folsom St +9 Payer made direct sales of +10 Crop insurance proceeds +2019 General +$5,000 or more of consumer +Instructions for +products to a buyer +City or town, state or province, country, and ZIP or foreign postal code +(recipient) for resale +$ +Certain +San Francisco, CA 94107 +11 +12 +Information +Returns. +Account number (see instructions) +FATCA filing +2nd TIN not. +13 Excess golden parachute +14 Gross proceeds paid to an +requirement +payments +attorney +$ +$ +15a Section 409A deferrals +15b Section 409A income +16 State tax withheld +17 State/Payer's state no. +18 State income +$ +$ +$ +$ +$ +$ +Form 1099-MISC +Cat. No. 14425J +www.irs.gov/Form1099MISC +Department of the Treasury Internal Revenue Service +Do Not Cut or Separate Forms on This Page - Do Not Cut or Separate Forms on This Page +" +1099-r,"VOID +CORRECTED +PAYER'S name, street address, city or town, state or province, +1 Gross distribution +OMB No. 1545-0119 +Distributions From +country, ZIP or foreign postal code, and phone no. +Pensions, Annuities, +Retirement or +$ +3500.00 +2019 +Profit-Sharing Plans, +Plains Capital Bank +2a Taxable amount +IRAs, Insurance +P.O. Box 93600 +Contracts, etc. +Lubbock, TX 79493-3600 +$ +3500.00 +Form +1099-R +(866) 762.8392 +2b Taxable amount +Total +Copy 1 +not determined +distribution +For +PAYER'S TIN +RECIPIENT'S TIN +3 Capital gain (included +4 Federal income tax +State, City, +in box 2a) +withheld +or Local +Tax Department +92-4855862 +564-28- +$ +0.00 +$ +0.00 +RECIPIENT'S name +5 Employee contributions/ +6 Net unrealized +Designated Roth +appreciation in +contributions or +employer's securities +insurance premiums +Ro +E.L +$ +0.00 +$ +0.00 +Street address (including apt. no.) +7 Distribution +IRA/ +8 Other +code(s) +SEP/ +SIMPLE +138 Main Str +421 +D +$ +% +City or town, state or province, country, and ZIP or foreign postal code +9a Your percentage of total +9b Total employee contributions +San Antonio, TX 78005 +distribution +% +$ +10 Amount allocable to IRR +11 1st year of +FATCA filing +12 State tax withheld +13 State/Payer's state no. +14 State distribution +within 5 years +desig. Roth contrib. +requirement +$ +$ +$ +$ +$ +Account number (see instructions) +Date of +15 Local tax withheld +16 Name of locality +17 Local distribution +payment +$ +$ +859164-5254 +$ +$ +Form +1099-R +www.irs.gov/Form1099R +Department of the Treasury - Internal Revenue Service +" +1099-r,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, +1 Gross distribution +OMB No. 1545-0119 +Distributions From +country, ZIP or foreign postal code, and phone no. +Pensions, Annuities, +Retirement or +$ +89,453.89 +2019 +Profit-Sharing Plans, +LPL FINANCIAL CORPORATION +2a Taxable amount +IRAs, Insurance +75 STATE STREET, 22ND FLOOR +Contracts, etc. +BOSTON MA 02109 +$ +Form +1099-R +2b Taxable amount +Total +Copy B +not determined +distribution +Report this +PAYER'S TIN +RECIPIENT'S TIN +3 Capital gain (included +4 Federal income tax +income on your +in box 2a) +withheld +federal tax +return. If this +form shows +95-2834236 +845-48- +$ +$ +federal income +RECIPIENT'S name +5 Employee contributions/ +6 Net unrealized +tax withheld in +Designated Roth +appreciation in +contributions or +employer's securities +box 4, attach +EST +ROL +insurance premiums +this copy to +$ +$ +your return. +Street address (including apt. no.) +7 Distribution +IRA/ +8 Other +code(s) +SEP/ +SIMPLE +This information is +416 +SON BRANCH +H +$ +% +being furnished to +City or town, state or province, country, and ZIP or foreign postal code +9a Your percentage of total +9b Total employee contributions +the IRS. +POPLAR GROVE IL 61065 +distribution +% +$ +10 Amount allocable to IRR +11 1st year of +FATCA filing +12 State tax withheld +13 State/Payer's state no. +14 State distribution +within 5 years +desig. Roth contrib. +requirement +$ +$ +$ +2006 +$ +$ +Account number (see instructions) +Date of +15 Local tax withheld +16 Name of locality +17 Local distribution +payment +$ +$ +$ +$ +Form +1099-R +www.irs.gov/Form1099R +Department of the Treasury - Internal Revenue Service +" +1099-r,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, +1 Gross distribution +OMB No. 1545-0119 +Distributions From +country, ZIP or foreign postal code, and phone no. +Pensions, Annuities, +Retirement or +$ +453,513.00 +2019 +Profit-Sharing Plans, +LPL FINANCIAL CORPORATION +2a Taxable amount +IRAs, Insurance +75 STATE STREET, 22ND FLOOR +Contracts, etc. +BOSTON MA 02109 +$ +Form +1099-R +2b Taxable amount +Total +Copy B +not determined +distribution +Report this +PAYER'S TIN +RECIPIENT'S TIN +3 Capital gain (included +4 Federal income tax +income on your +in box 2a) +withheld +federal tax +return. If this +form shows +95-2834236 +848-60- +$ +$ +federal income +RECIPIENT'S name +5 Employee contributions/ +6 Net unrealized +tax withheld in +Designated Roth +appreciation in +contributions or +employer's securities +box 4, attach +KIRST +OTT +insurance premiums +this copy to +$ +$ +your return. +Street address (including apt. no.) +7 Distribution +IRA/ +8 Other +code(s) +SEP/ +SIMPLE +This information is +4 +OWITZ TRAIL +H +$ +% +being furnished to +City or town, state or province, country, and ZIP or foreign postal code +9a Your percentage of total +9b Total employee contributions +the IRS. +FAYETTE UT 84630 +distribution +% +$ +10 Amount allocable to IRR +11 1st year of +FATCA filing +12 State tax withheld +13 State/Payer's state no. +14 State distribution +within 5 years +desig. Roth contrib. +requirement +$ +$ +$ +2005 +$ +$ +Account number (see instructions) +Date of +15 Local tax withheld +16 Name of locality +17 Local distribution +payment +$ +$ +$ +$ +Form +1099-R +www.irs.gov/Form1099R +Department of the Treasury - Internal Revenue Service +" +1099-r,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, +1 Gross distribution +OMB No. 1545-0119 +Distributions From +country, ZIP or foreign postal code, and phone no. +Pensions, Annuities, +Retirement or +$ +610,052.45 +2019 +Profit-Sharing Plans, +NYLIFE SECURITIES LLC +2a Taxable amount +IRAs, Insurance +51 MADISON AVE UNIT 713 +Contracts, etc. +NEW YORK NY 10010 +$ +Form +1099-R +2b Taxable amount +Total +Copy B +not determined +distribution +Report this +PAYER'S TIN +RECIPIENT'S TIN +3 Capital gain (included +4 Federal income tax +income on your +in box 2a) +withheld +federal tax +return. If this +form shows +27-0145686 +881-53- +$ +$ +federal income +RECIPIENT'S name +5 Employee contributions/ +6 Net unrealized +tax withheld in +Designated Roth +appreciation in +contributions or +employer's securities +box 4, attach +OK +LER +insurance premiums +this copy to +$ +$ +your return. +Street address (including apt. no.) +7 Distribution +IRA/ +8 Other +code(s) +SEP/ +SIMPLE +This information is +94 +CE SKYWAY +H +$ +% +being furnished to +City or town, state or province, country, and ZIP or foreign postal code +9a Your percentage of total +9b Total employee contributions +the IRS. +HOLLYTREE AL 35751 +distribution +% +$ +10 Amount allocable to IRR +11 1st year of +FATCA filing +12 State tax withheld +13 State/Payer's state no. +14 State distribution +within 5 years +desig. Roth contrib. +requirement +$ +$ +$ +2000 +$ +$ +Account number (see instructions) +Date of +15 Local tax withheld +16 Name of locality +17 Local distribution +payment +$ +$ +$ +$ +Form +1099-R +www.irs.gov/Form1099R +Department of the Treasury - Internal Revenue Service +" +1099-r,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, +1 Gross distribution +OMB No. 1545-0119 +Distributions From +country, ZIP or foreign postal code, and phone no. +Pensions, Annuities, +335,900.00 +Retirement or +$ +2019 +Profit-Sharing Plans, +2a Taxable amount +TD BANK +IRAs, Insurance +300 DELAWARE AVE +227,000.00 +Contracts, etc. +$ +Form 1099-R +WILMINGTON DE 19801 +2b Taxable amount +Total +Copy B +not determined +distribution +Report this +PAYER'S TIN +RECIPIENT'S TIN +3 Capital gain (included +4 Federal income tax +income on your +in box 2a) +withheld +federal tax +return. If this +32-9324 +324- - 426 +65,890.00 +form shows +$ +$ +federal income +RECIPIENT'S name +5 Employee contributions/ +6 Net unrealized +tax withheld in +Designated Roth +appreciation in +contributions or +employer's securities +box 4, attach +JACQU +GLAD +insurance premiums +this copy to +$ +0.00 +$ +0.00 +your return. +Street address (including apt. no.) +7 Distribution +IRA/ +8 Other +code(s) +SEP/ +SIMPLE +This information is +6 PLU +BRA +CIR +7K +$ +42,890.70 +20 % +being furnished to +City or town. state or province. country. and ZIP or foreign postal code +9a Your percentage of total +9b Total employee contributions +the IRS. +MILTON DE 19968 +distribution +0 +% +$ +0.00 +10 Amount allocable to IRR +11 1st year of +FATCA filing +12 State tax withheld +13 State/Payer's state no. +14 State distribution +within 5 years +desig. Roth contrib. +requirement +$ +55,854.70 +347328 +$ 35,000.00 +$ +2012 +$ +$ +Account number (see instructions) +Date of +15 Local tax withheld +16 Name of locality +17 Local distribution +payment +$ 20,000.80 +DE +$ +4800.70 +324732984 +04/10/2019 +$ +$ +Form +1099-R +www.irs.gov/Form1099R +Department of the Treasury - Internal Revenue Service +" +1099-r,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, +1 Gross distribution +OMB No. 1545-0119 +Distributions From +country, ZIP or foreign postal code, and phone no. +Pensions, Annuities, +Retirement or +$ +87,453.39 +2019 +Profit-Sharing Plans, +NYLIFE SECURITIES LLC +2a Taxable amount +IRAs, Insurance +51 MADISON AVE UNIT 713 +Contracts, etc. +NEW YORK NY 10010 +$ +Form +1099-R +2b Taxable amount +Total +Copy B +not determined +distribution +Report this +PAYER'S TIN +RECIPIENT'S TIN +3 Capital gain (included +4 Federal income tax +income on your +in box 2a) +withheld +federal tax +return. If this +form shows +27-0145686 +763-67- +$ +$ +federal income +RECIPIENT'S name +5 Employee contributions/ +6 Net unrealized +tax withheld in +Designated Roth +appreciation in +contributions or +employer's securities +box 4, attach +GE +UGLAS +insurance premiums +this copy to +$ +$ +your return. +Street address (including apt. no.) +7 Distribution +IRA/ +8 Other +code(s) +SEP/ +SIMPLE +This information is +6 +D POINT RD +H +$ +% +being furnished to +City or town, state or province, country, and ZIP or foreign postal code +9a Your percentage of total +9b Total employee contributions +the IRS. +QUINTER KS 67752 +distribution +% +$ +10 Amount allocable to IRR +11 1st year of +FATCA filing +12 State tax withheld +13 State/Payer's state no. +14 State distribution +within 5 years +desig. Roth contrib. +requirement +$ +$ +$ +2012 +$ +$ +Account number (see instructions) +Date of +15 Local tax withheld +16 Name of locality +17 Local distribution +payment +$ +$ +$ +$ +Form +1099-R +www.irs.gov/Form1099R +Department of the Treasury - Internal Revenue Service +" +1099-r,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, +1 Gross distribution +OMB No. 1545-0119 +Distributions From +country, ZIP or foreign postal code, and phone no. +Pensions, Annuities, +Retirement or +RUNOLFSSON INC +$ +9,853.35 +2019 +Profit-Sharing Plans, +8710 KUHIC GARDEN +2a Taxable amount +IRAs, Insurance +LAKE PARK, MN 56554 +Contracts, etc. +$ +9,853.35 +Form +1099-R +2b Taxable amount +Total +Copy B +not determined +distribution +Report this +PAYER'S TIN +RECIPIENT'S TIN +3 Capital gain (included +4 Federal income tax +income on your +in box 2a) +withheld +federal tax +return. If this +form shows +02-5123035 +832-21- +$ +$ +1,970.67 +federal income +RECIPIENT'S name +5 Employee contributions/ +6 Net unrealized +tax withheld in +Designated Roth +appreciation in +contributions or +employer's securities +box 4, attach +CIA +NTON +insurance premiums +this copy to +$ +$ +your return. +Street address (including apt. no.) +7 Distribution +IRA/ +8 Other +code(s) +SEP/ +SIMPLE +This information is +36 +NA MEADOWS CT +7 +$ +% +being furnished to +City or town, state or province, country, and ZIP or foreign postal code +9a Your percentage of total +9b Total employee contributions +the IRS. +HINES, MN 56647 +distribution +% +$ +4,785.36 +10 Amount allocable to IRR +11 1st year of +FATCA filing +12 State tax withheld +13 State/Payer's state no. +14 State distribution +within 5 years +desig. Roth contrib. +requirement +$ +$ +$ +$ +$ +Account number (see instructions) +Date of +15 Local tax withheld +16 Name of locality +17 Local distribution +payment +$ +$ +$ +$ +Form +1099-R +www.irs.gov/Form1099R +Department of the Treasury - Internal Revenue Service +" +1099-r,"CORRECTED (if checked) +1-800-359-5593 +PAYER'S name, street address, city or town, state or province, +1 Gross distribution +OMB No. 1545-0119 +country, and ZIP or foreign postal code +$621.73 +Distributions From Pensions, +MASSACHUSETTS MUTUAL LIFE INSURANCE CO +2017 +Annuities, Retirement or +MASSMUTUAL RETIREMENT SERVICES +2a Taxable amount +Profit-Sharing Plans,IRAs, +PO BOX 219062 +$621.73 +Form 1099-R +Insurance Contracts, etc. +KANSAS CITY, MO 64121-9062 +2b Taxable amount not +Total distribution +Copy B +determined +Report this income +3 Capital gain (included in box 2a) +4 Federal income tax withheld +on your federal tax +PAYER'S federal identification number +$62.17 +return. If this form +RECIPIENT'S identification number +shows federal income +04-1590850 +***-**-85 +5 Employee contributions/Designated +6 Net unrealized appreciation in employer's +tax withheld in +Roth contributions or insurance +securities +RECIPIENT'S name, street address, city or town, state or province, +premiums +box 4, attach this +country, and ZIP or foreign postal code +copy to your return. +M227 +7 Distribution code(s) +IRA/SEP / +8 Other +JEN +OM +4 +SIMPLE +% +This information +51 +ASIDE CT +9a Your percentage of total distribution +9b Total employee contributions +is being furnished to the +UNION CITY, CA 94587 +% +Internal Revenue Service. +12 State tax withheld +13 State/Payer's state no. +14 State distribution +CA/009-67422 +$621.73 +10 Amount allocable to IRR within +11 1st year of desig. +FATCA filing +15 Local tax withheld +16 Name of locality +17 Local distribution +5 years +Roth contrib. +requirement +Account number (see instructions) +FL 618 +643 +0510 +Form 1099-R +www.irs.gov/form1099r +Department of the Treasury-Internal Revenue Service +CORRECTED (if checked) +1-800-359-5593 +PAYER'S name, street address, city or town, state or province, +1 Gross distribution +OMB No. 1545-0119 +country, and ZIP or foreign postal code +$621.73 +Distributions From Pensions, +MASSACHUSETTS MUTUAL LIFE INSURANCE CO +2a Taxable amount +2017 +Annuities, Retirement or +MASSMUTUAL RETIREMENT SERVICES +Profit-Sharing Plans,IRAs, +PO BOX 219062 +$621.73 +Form 1099-R +Insurance Contracts, etc. +KANSAS CITY, MO 64121-9062 +2b Taxable amount not +Total distribution +Copy C +determined +For Recipient's +3 Capital gain (included in box 2a) +4 Federal income tax withheld +Records +PAYER'S federal identification number +RECIPIENT'S identification number +$62.17 +04-1590850 +***-**-85 +5 Employee contributions/Designated +6 Net unrealized appreciation in employer's +Roth contributions or insurance +securities +RECIPIENT'S name, street address, city or town, state or province, +premiums +country, and ZIP or foreign postal code +M227 +7 Distribution code(s) +IRA/SEP / +8 Other +This information is +JEN +OM +4 +SIMPLE +% +being furnished to +51 +ASIDE CT +9a Your percentage of total distribution +9b Total employee contributions +the Internal +UNION CITY, CA 94587 +% +Revenue Service. +12 State tax withheld +13 State/Payer's state no. +14 State distribution +CA/009-67422 +$621.73 +10 Amount allocable to IRR within +11 1st year of desig. +FATCA filing +15 Local tax withheld +16 Name of locality +17 Local distribution +5 years +Roth contrib. +requirement +Account number (see instructions) +FL 618 +643 +0510 +Form 1099-R +www.irs.gov/form1099r +Department of the Treasury-Internal Revenue Service +CORRECTED (if checked) +1-800-359-5593 +PAYER'S name, street address, city or town, state or province, +1 Gross distribution +OMB No. 1545-0119 +country, and ZIP or foreign postal code +$621.73 +Distributions From Pensions, +MASSACHUSETTS MUTUAL LIFE INSURANCE CO +2a Taxable amount +2017 +Annuities, Retirement or +MASSMUTUAL RETIREMENT SERVICES +Profit-Sharing Plans,IRAs, +PO BOX 219062 +$621.73 +Form 1099-R +Insurance Contracts, etc. +KANSAS CITY, MO 64121-9062 +2b Taxable amount not +Total distribution +Copy 2 +determined +File this copy +3 Capital gain (included in box 2a) +4 Federal income tax withheld +with your state, +PAYER'S federal identification number +RECIPIENT'S identification number +$62.17 +city, or local +income tax +04-1590850 +***-**-85 +5 Employee contributions/Designated +6 Net unrealized appreciation in employer's +Roth contributions or insurance +securities +return, when +RECIPIENT'S name, street address, city or town, state or province, +premiums +required. +country, and ZIP or foreign postal code +M227 +7 Distribution code(s) +IRA SEP / +8 Other +JEN +OM +4 +SIMPLE +% +51 +ASIDE CT +9a Your percentage of total distribution +9b Total employee contributions +UNION CITY, CA 94587 +% +12 State tax withheld +13 State/Payer's state no. +14 State distribution +CA/009-67422 +$621.73 +10 Amount allocable to IRR within +11 1st year of desig. +FATCA filing +15 Local tax withheld +16 Name of locality +17 Local distribution +5 years +Roth contrib. +requirement +Account number (see instructions) +FL 618 +643 +0510 +Form 1099-R +www.irs.gov/form1099r +Department of the Treasury-Internal Revenue Service +Page of 2 +" +1099-r,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, +1 Gross distribution +OMB No. 1545-0119 +Distributions From +country, ZIP or foreign postal code, and phone no. +Pensions, Annuities, +$ 91,288.24 +Retirement or +2019 +Profit-Sharing Plans, +Allianz Life Insurance Company of North America +2a Taxable amount +IRAs, Insurance +PO Box 1344 +Contracts, etc. +Minneapolis, MN 55416-1297 +$ 91,288.24 +Form +1099-R +2b Taxable amount +Total +Copy B +not determined +distribution +Report this +PAYER'S TIN +RECIPIENT'S TIN +3 Capital gain (included +4 Federal income tax +income on your +in box 2a) +withheld +federal tax +38-66 +return. If this +XXX-XX-95 +form shows +$ +$ +federal income +RECIPIENT'S name +5 Employee contributions/ +6 Net unrealized +tax withheld in +Designated Roth +appreciation in +Sv Obl +contributions or +employer's securities +box 4, attach +insurance premiums +this copy to +36 N +erbrook Dr. +$ +$ +your return. +Street address (including apt. no.) +7 Distribution +IRA/ +8 Other +code(s) +SEP/ +SIMPLE +This information is +Stamford, CT 06901 +$ +% +being furnished to +City or town, state or province, country, and ZIP or foreign postal code +9a Your percentage of total +9b Total employee contributions +the IRS. +distribution +% +$ +10 Amount allocable to IRR +11 1st year of +FATCA filing +12 State tax withheld +13 State/Payer's state no. +14 State distribution +within 5 years +desig. Roth contrib. +requirement +$ +$ +$ +$ +$ +Account number (see instructions) +Date of +15 Local tax withheld +16 Name of locality +17 Local distribution +payment +$ +$ +$ +$ +Form +1099-R +www.irs.gov/Form1099R +Department of the Treasury - Internal Revenue Service +" +1099-r,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, +1 Gross distribution +OMB No. 1545-0119 +Distributions From +country, ZIP or foreign postal code, and phone no. +Pensions, Annuities, +232,550.00 +Retirement or +$ +2019 +Profit-Sharing Plans, +PNC BANK +2a Taxable amount +IRAs, Insurance +2014 NJ-27 +101,400.00 +Contracts, etc. +$ +Form 1099-R +EDISON, NJ 08817 +2b Taxable amount +Total +Copy B +not determined +distribution +Report this +PAYER'S TIN +RECIPIENT'S TIN +3 Capital gain (included +4 Federal income tax +income on your +in box 2a) +withheld +federal tax +return. If this +72,800.90 +form shows +82-36 +00 +921-93- 41 +$ +$ +federal income +RECIPIENT'S name +5 Employee contributions/ +6 Net unrealized +tax withheld in +Designated Roth +appreciation in +contributions or +employer's securities +box 4, attach +JULIA A REESE +insurance premiums +this copy to +$ +0.00 +$ +0.00 +your return. +Street address (including apt. no.) +7 Distribution +IRA/ +8 Other +code(s) +SEP/ +SIMPLE +This information is +64 +RK +7K +$ +22,300.50 +1 +% +being furnished to +City or town. state or province. country. and ZIP or foreign postal code +9a Your percentage of total +9b Total employee contributions +the IRS. +BLOOMFIELD NJ 07003-2649 +distribution +0 +% +$ +0.00 +10 Amount allocable to IRR +11 1st year of +FATCA filing +12 State tax withheld +13 State/Payer's state no. +14 State distribution +within 5 years +desig. Roth contrib. +requirement +$ 42,890.00 +346208 1 +$ 35,000.00 +$ +2014 +$ +$ +Account number (see instructions) +Date of +15 Local tax withheld +16 Name of locality +17 Local distribution +payment +$ +2,300.50 +NJ +$ +500.00 +43284 +8409 +03/30/2019 +$ +$ +Form +1099-R +www.irs.gov/Form1099R +Department of the Treasury - Internal Revenue Service +" +1099-r,"CORRECTED (if checked) +PAYER'S name, street address, city or town, state or province, +1 Gross distribution +OMB No. 1545-0119 +Distributions From +country, ZIP or foreign postal code, and phone no. +Pensions, Annuities, +Dam Mars +35912.07 +Retirement or +$ +61 Taw Deer Is +2019 +Profit-Sharing Plans, +2a Taxable amount +IRAs, Insurance +Alderwood Manor, MI, 33847 +Contracts, etc. +719-244-9505 +$ +35912.07 +Form +1099-R +2b Taxable amount +Total +Copy B +not determined +distribution +Report this +PAYER'S TIN +RECIPIENT'S TIN +3 Capital gain (included +4 Federal income tax +income on your +in box 2a) +withheld +federal tax +return. If this +form shows +781-18-2 +70493 +$ +548.81 +$ +7014.84 +federal income +RECIPIENT'S name +5 Employee contributions/ +6 Net unrealized +tax withheld in +Designated Roth +appreciation in +contributions or +employer's securities +box 4, attach +Mich +Antho +insurance premiums +this copy to +$ +489.15 +$ +720.15 +your return. +Street address (including apt. no.) +7 Distribution +IRA/ +8 Other +code(s) +SEP/ +SIMPLE +This information is +17 Sil +Camp K +B +$ +146.21 +% +being furnished to +City or town, state or province, country, and ZIP or foreign postal code +9a Your percentage of total +9b Total employee contributions +the IRS. +North Ogden, RI, 88533 +distribution +94% +$ +992.59 +10 Amount allocable to IRR +11 1st year of +FATCA filing +12 State tax withheld +13 State/Payer's state no. +14 State distribution +within 5 years +desig. Roth contrib. +requirement +$ +775.55 +MI +$ +256.79 +$ +594.63 +2018 +$ +$ +Account number (see instructions) +Date of +15 Local tax withheld +16 Name of locality +17 Local distribution +payment +$ +554.85 +Alderwood Manor +$ +137.74 +BYG-463 +06/01/2018 +$ +$ +Form +1099-R +www.irs.gov/Form1099R +Department of the Treasury - Internal Revenue Service +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +AnyCompany Inc. Holdings LLC +999-99-99-99 16769 3 C 001 11 S 66002 +AKUA MANSA +34841 LINA EXPRESSWAY, WEST STACIE, VA 25196 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 AnyCompany Inc. Holdings LLC. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +008749722646 +5,119.88 +page 1 +Total checking and money market savings accounts +$5,119.88 +SAVINGS +874972264636 +64,963.74 +page 3 +Total savings accounts +$64,963.74 +Checking and money market savings accounts +CHECKING 008749722646 +Account summary +Your previous balance as of 04/04/2022 +$34,985.24 +Checks +- 1,585.11 +Other withdrawals, debits and service charges +- 853.78 +Deposits, credits and interest ++ 3,581.86 +Your new balance as of 06/17/2020 += $5,119.88 +Average Posted Balance in Statement Cycle +$48,694.36 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +AnyCompany LLC. Corp. +999-99-99-99 16769 3 C 001 11 S 66 002 +JORGE SOUZA +84378 HANSEN HIGHWAY, GUSIKOWSKIBOROUGH, NJ 15748 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 AnyCompany LLC. Corp. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +008048317661 +7,657.06 +page 1 +Total checking and money market savings accounts +$7,657.06 +SAVINGS +804831766136 +52,007.53 +page 3 +Total savings accounts +$52,007.53 +Checking and money market savings accounts +CHECKING 008048317661 +Account summary +Your previous balance as of 04/04/2022 +$36,839.25 +Checks +- 706.98 +Other withdrawals, debits and service charges +- 768.53 +Deposits, credits and interest ++ 4,755.90 +Your new balance as of 06/17/2020 += $7,657.06 +Average Posted Balance in Statement Cycle +$68,539.99 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +AnyCompany Inc. Bank +999-99-99-99 16769 3 C 001 11 S 66002 +KWAKU MENSAH +8726 SPENCER VIEW, NORTH PATRICIALAND, MS 19473 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 AnyCompany Inc. Bank. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +003027695867 +9,804.15 +page 1 +Total checking and money market savings accounts +$9,804.15 +SAVINGS +302769586736 +54,388.49 +page 3 +Total savings accounts +$54,388.49 +Checking and money market savings accounts +CHECKING 003027695867 +Account summary +Your previous balance as of 04/04/2022 +$47,113.74 +Checks +585.27 +Other withdrawals, debits and service charges +- 968.48 +Deposits, credits and interest ++ 1,962.27 +Your new balance as of 06/17/2020 += $9,804.15 +Average Posted Balance in Statement Cycle +$61,303.04 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +AnyCompany LLC. Credit Union +999-99-99-99 16769 3 C 001 11 S 66002 +KWESI MANU +72181 BERTIE LIGHTS, SOUTH VERNONHAVEN, NJ 15103-9050 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 AnyCompany LLC. Credit Union. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +008227683261 +6,712.50 +page 1 +Total checking and money market savings accounts +$6,712.50 +SAVINGS +822768326136 +63,982.42 +page 3 +Total savings accounts +$63,982.42 +Checking and money market savings accounts +CHECKING 008227683261 +Account summary +Your previous balance as of 04/04/2022 +$30,245.94 +Checks +- 1,823.69 +Other withdrawals, debits and service charges +- 904.96 +Deposits, credits and interest ++ 5,653.90 +Your new balance as of 06/17/2020 += $6,712.50 +Average Posted Balance in Statement Cycle +$55,290.65 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +AnyCompany Inc. Financial Group +999-99-99-99 16769 3 C 001 11 S 66002 +LI JUAN +71380 FREDERICK RADIAL, NEW SHELLIE, TX 37807 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 AnyCompany Inc. Financial Group. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +005268901508 +6,956.93 +page 1 +Total checking and money market savings accounts +$6,956.93 +SAVINGS +526890150836 +63,753.47 +page 3 +Total savings accounts +$63,753.47 +Checking and money market savings accounts +CHECKING 005268901508 +Account summary +Your previous balance as of 04/04/2022 +$29,182.63 +Checks +- 682.24 +Other withdrawals, debits and service charges +801.77 +Deposits, credits and interest ++ 1,872.57 +Your new balance as of 06/17/2020 += $6,956.93 +Average Posted Balance in Statement Cycle +$46,224.10 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Corp. Banking Services +999-99-99-99 16769 3 C 001 11 S 66002 +LIU JIE +322 BRAKUS KEYS, MERVINBOROUGH, CO 21518-1281 - +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Corp. Banking Services. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +002119823998 +3,097.45 +page 1 +Total checking and money market savings accounts +$3,097.45 +SAVINGS +211982399836 +66,496.93 +page 3 +Total savings accounts +$66,496.93 +Checking and money market savings accounts +CHECKING 002119823998 +Account summary +Your previous balance as of 04/04/2022 +$59,620.67 +Checks +- 889.82 +Other withdrawals, debits and service charges +- 664.43 +Deposits, credits and interest ++ 1,507.04 +Your new balance as of 06/17/2020 += $3,097.45 +Average Posted Balance in Statement Cycle +$59,245.30 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Inc. LLC +999-99-99-99 16769 3 C 001 11 S 66002 +MARCIA OLIVEIRA +357 LINDGREN BURG, RICELAND, MO 60309-3588 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Inc. LLC. +If +you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +004665825561 +4,386.41 +page 1 +Total checking and money market savings accounts +$4,386.41 +SAVINGS +466582556136 +55,280.81 +page 3 +Total savings accounts +$55,280.81 +Checking and money market savings accounts +CHECKING 004665825561 +Account summary +Your previous balance as of 04/04/2022 +$55,463.21 +Checks +- 724.23 +Other withdrawals, debits and service charges +- 963.39 +Deposits, credits and interest ++ 7,678.75 +Your new balance as of 06/17/2020 += $4,386.41 +Average Posted Balance in Statement Cycle +$60,654.33 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +AnyCompany Inc. Holdings LLC +999-99-99-99 16769 3 C 001 11 S 66002 +MARÍA GARCÍA +4295 GUSIKOWSKI LOOP, EAST MOIRA, IA 72371-2196 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 AnyCompany Inc. Holdings LLC. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +006063142766 +4,687.86 +page 1 +Total checking and money market savings accounts +$4,687.86 +SAVINGS +606314276636 +65,623.00 +page 3 +Total savings accounts +$65,623.00 +Checking and money market savings accounts +CHECKING 006063142766 +Account summary +Your previous balance as of 04/04/2022 +$36,960.82 +Checks +- 1,173.26 +Other withdrawals, debits and service charges +- 523.94 +Deposits, credits and interest ++ 1,681.93 +Your new balance as of 06/17/2020 += $4,687.86 +Average Posted Balance in Statement Cycle +$63,705.18 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Inc. Banking Services +999-99-99-99 16769 3 C 001 11 S 66002 +MARTHA RIVERA +134 FAHEY PARKS, PORT BENJAMIN, CA 15638 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Inc. Banking Services. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +007821282849 +5,084.76 +page 1 +Total checking and money market savings accounts +$5,084.76 +SAVINGS +782128284936 +64,993.50 +page 3 +Total savings accounts +$64,993.50 +Checking and money market savings accounts +CHECKING 007821282849 +Account summary +Your previous balance as of 04/04/2022 +$49,454.90 +Checks +- 986.19 +Other withdrawals, debits and service charges +- 592.39 +Deposits, credits and interest ++ 7,475.42 +Your new balance as of 06/17/2020 += $5,084.76 +Average Posted Balance in Statement Cycle +$56,610.48 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +AnyCompany Inc. Banking Services +999-99-99-99 16769 3 C 001 11 S 66002 +MARY MAJOR +65890 THIEL PORTS, NEW PARTHENIA, DE 20606 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 AnyCompany Inc. Banking Services. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +009101101484 +6,798.30 +page 1 +Total checking and money market savings accounts +$6,798.30 +SAVINGS +910110148436 +61,112.34 +page 3 +Total savings accounts +$61,112.34 +Checking and money market savings accounts +CHECKING 009101101484 +Account summary +Your previous balance as of 04/04/2022 +$48,209.37 +Checks +- 1,458.07 +Other withdrawals, debits and service charges +- 704.38 +Deposits, credits and interest ++ 6,415.51 +Your new balance as of 06/17/2020 += $6,798.30 +Average Posted Balance in Statement Cycle +$58,545.97 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Corp. Financial Services +999-99-99-99 16769 3 C 001 11 S 66002 +MATEO JACKSON +807 BERNIER PRAIRIE, BARNEYBOROUGH, ME 98650 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Corp. Financial Services. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +001907756380 +7,333.84 +page 1 +Total checking and money market savings accounts +$7,333.84 +SAVINGS +190775638036 +56,369.73 +page 3 +Total savings accounts +$56,369.73 +Checking and money market savings accounts +CHECKING 001907756380 +Account summary +Your previous balance as of 04/04/2022 +$59,882.33 +Checks +- 662.24 +Other withdrawals, debits and service charges +- 539.79 +Deposits, credits and interest ++ 2,328.00 +Your new balance as of 06/17/2020 += $7,333.84 +Average Posted Balance in Statement Cycle +$69,754.97 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Inc. Bank +999-99-99-99 16769 3 C 001 11 S 66002 +ANA CAROLINA SILVA +28755 GERLACH RADIAL, RUNOLFSDOTTIRSIDE, NC 23449-2323 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Inc. Bank. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +000539801730 +9,571.91 +page 1 +Total checking and money market savings accounts +$9,571.91 +SAVINGS +053980173036 +68,990.87 +page 3 +Total savings accounts +$68,990.87 +Checking and money market savings accounts +CHECKING 000539801730 +Account summary +Your previous balance as of 04/04/2022 +$33,894.62 +Checks +- 1,241.62 +Other withdrawals, debits and service charges +- 783.78 +Deposits, credits and interest ++ 716.15 +Your new balance as of 06/17/2020 += $9,571.91 +Average Posted Balance in Statement Cycle +$63,212.51 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Corp. Financial Services +999-99-99-99 16769 3 C 001 11 S 66002 +NIKHIL JAYASHANKAR +241 DWANA STRAVENUE, WEST REGINALDBOROUGH, CO 36496-2744 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Corp. Financial Services. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +008375932489 +4,938.28 +page 1 +Total checking and money market savings accounts +$4,938.28 +SAVINGS +837593248936 +69,933.64 +page 3 +Total savings accounts +$69,933.64 +Checking and money market savings accounts +CHECKING 008375932489 +Account summary +Your previous balance as of 04/04/2022 +$29,123.58 +Checks +- 773.84 +Other withdrawals, debits and service charges +- 758.79 +Deposits, credits and interest ++ 7,719.20 +Your new balance as of 06/17/2020 += $4,938.28 +Average Posted Balance in Statement Cycle +$68,697.47 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +AnyCompany LLC. Finance Ltd +999-99-99-99 16769 3 C 001 11 S 66002 +NIKKI WOLF +80194 TROMP ROADS, HORACIOBURY, OR 36696 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 AnyCompany LLC. Finance Ltd. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +000369231991 +5,376.01 +page 1 +Total checking and money market savings accounts +$5,376.01 +SAVINGS +036923199136 +65,078.16 +page 3 +Total savings accounts +$65,078.16 +Checking and money market savings accounts +CHECKING 000369231991 +Account summary +Your previous balance as of 04/04/2022 +$59,755.37 +Checks +- 1,055.17 +Other withdrawals, debits and service charges +- 610.11 +Deposits, credits and interest ++ 1,618.62 +Your new balance as of 06/17/2020 += $5,376.01 +Average Posted Balance in Statement Cycle +$60,810.92 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Corp. Holdings LLC +999-99-99-99 16769 3 C 001 11 S 66002 +PAULO SANTOS +63600 BAYER ESTATE, EAST PALMER, NE 60007 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Corp. Holdings LLC. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +006615882545 +6,109.61 +page 1 +Total checking and money market savings accounts +$6,109.61 +SAVINGS +661588254536 +68,367.96 +page 3 +Total savings accounts +$68,367.96 +Checking and money market savings accounts +CHECKING 006615882545 +Account summary +Your previous balance as of 04/04/2022 +$49,435.68 +Checks +- 798.11 +Other withdrawals, debits and service charges +- 794.47 +Deposits, credits and interest ++ 9,936.50 +Your new balance as of 06/17/2020 += $6,109.61 +Average Posted Balance in Statement Cycle +$60,958.79 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Corp. Finance Ltd +999-99-99-99 16769 3 C 001 11 S 66002 +RICHARD ROE +58250 RUNOLFSDOTTIR GROVES, LUCIUSFURT, ME 31150-9540 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Corp. Finance Ltd. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +003218386571 +6,310.82 +page 1 +Total checking and money market savings accounts +$6,310.82 +SAVINGS +321838657136 +59,411.59 +page 3 +Total savings accounts +$59,411.59 +Checking and money market savings accounts +CHECKING 003218386571 +Account summary +Your previous balance as of 04/04/2022 +$27,071.52 +Checks +- 1,233.03 +Other withdrawals, debits and service charges +- 768.37 +Deposits, credits and interest ++ 5,909.78 +Your new balance as of 06/17/2020 += $6,310.82 +Average Posted Balance in Statement Cycle +$45,760.97 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Inc. LLC +999-99-99-99 16769 3 C 001 11 S 66002 +SAANVI SARKAR +5514 REMPEL GARDENS, EAST CASEY, LA 12298-1871 - +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Inc. LLC. +If +you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +002780139427 +7,366.13 +page 1 +Total checking and money market savings accounts +$7,366.13 +SAVINGS +278013942736 +55,656.02 +page 3 +Total savings accounts +$55,656.02 +Checking and money market savings accounts +CHECKING 002780139427 +Account summary +Your previous balance as of 04/04/2022 +$41,997.20 +Checks +- 512.29 +Other withdrawals, debits and service charges +932.51 +Deposits, credits and interest ++ 7,775.29 +Your new balance as of 06/17/2020 += $7,366.13 +Average Posted Balance in Statement Cycle +$61,408.94 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Inc. Bank +999-99-99-99 16769 3 C 001 11 S 66002 +SHIRLEY RODRIGUEZ +88868 MORISSETTE BRANCH, WEST HERTA, IA 78374 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Inc. Bank. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +000489441950 +8,546.40 +page 1 +Total checking and money market savings accounts +$8,546.40 +SAVINGS +048944195036 +58,897.88 +page 3 +Total savings accounts +$58,897.88 +Checking and money market savings accounts +CHECKING 000489441950 +Account summary +Your previous balance as of 04/04/2022 +$53,450.62 +Checks +- 971.56 +Other withdrawals, debits and service charges +- 744.76 +Deposits, credits and interest ++ 3,907.22 +Your new balance as of 06/17/2020 += $8,546.40 +Average Posted Balance in Statement Cycle +$49,006.15 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Inc. Financial Services Group Inc. +999-99-99-99 16769 3 C 001 11 S 66002 +SOFÍA MARTÍNEZ +13116 LEON RIDGES, EAST PRESTONVILLE, RI 45574 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Inc. Financial Services Group Inc.. +If +you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +001081059104 +9,281.50 +page 1 +Total checking and money market savings accounts +$9,281.50 +SAVINGS +108105910436 +69,394.50 +page 3 +Total savings accounts +$69,394.50 +Checking and money market savings accounts +CHECKING 001081059104 +Account summary +Your previous balance as of 04/04/2022 +$53,233.22 +Checks +- 517.88 +Other withdrawals, debits and service charges +765.68 +Deposits, credits and interest ++ 9,651.96 +Your new balance as of 06/17/2020 += $9,281.50 +Average Posted Balance in Statement Cycle +$61,638.93 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +AnyCompany Inc. Credit Union +999-99-99-99 16769 3 C 001 11 S 66002 +WANG XIULAN +494 MARTH RAPIDS, EAST CHANGVIEW, AZ 08366 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 AnyCompany Inc. Credit Union. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +005151712656 +7,624.58 +page 1 +Total checking and money market savings accounts +$7,624.58 +SAVINGS +515171265636 +58,961.75 +page 3 +Total savings accounts +$58,961.75 +Checking and money market savings accounts +CHECKING 005151712656 +Account summary +Your previous balance as of 04/04/2022 +$52,882.26 +Checks +- 1,314.98 +Other withdrawals, debits and service charges +- 798.80 +Deposits, credits and interest ++ 2,119.55 +Your new balance as of 06/17/2020 += $7,624.58 +Average Posted Balance in Statement Cycle +$57,526.92 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Corp. Corp. +999-99-99-99 16769 3 C 001 11 S 66002 +ZHANG WEI +79629 ATHENA STATION, LAKE NOESTAD, IL 24268-5567 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Corp. Corp. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +003266521968 +6,862.04 +page 1 +Total checking and money market savings accounts +$6,862.04 +SAVINGS +326652196836 +60,492.57 +page 3 +Total savings accounts +$60,492.57 +Checking and money market savings accounts +CHECKING 003266521968 +Account summary +Your previous balance as of 04/04/2022 +$54,542.55 +Checks +- 1,644.78 +Other withdrawals, debits and service charges +- 988.44 +Deposits, credits and interest ++ 5,099.84 +Your new balance as of 06/17/2020 += $6,862.04 +Average Posted Balance in Statement Cycle +$69,715.84 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +AnyCompany Inc. Financial Services +999-99-99-99 16769 3 C 001 11 S 66002 +ARNAV DESAI +1032 HODKIEWICZ CLUB, KATRICEFURT, PA 80112 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 AnyCompany Inc. Financial Services. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +001515280239 +7,146.70 +page 1 +Total checking and money market savings accounts +$7,146.70 +SAVINGS +151528023936 +65,824.33 +page 3 +Total savings accounts +$65,824.33 +Checking and money market savings accounts +CHECKING 001515280239 +Account summary +Your previous balance as of 04/04/2022 +$53,455.56 +Checks +- 1,721.79 +Other withdrawals, debits and service charges +- 544.65 +Deposits, credits and interest ++ 5,345.72 +Your new balance as of 06/17/2020 += $7,146.70 +Average Posted Balance in Statement Cycle +$46,029.29 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +AnyCompany LLC. Finance Ltd +999-99-99-99 16769 3 C 001 11 S 66002 +CARLOS SALAZAR +728 CIARA SHORES, SCHNEIDERMOUTH, AZ 79290 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 AnyCompany LLC. Finance Ltd. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +004579134282 +4,979.78 +page 1 +Total checking and money market savings accounts +$4,979.78 +SAVINGS +457913428236 +52,439.35 +page 3 +Total savings accounts +$52,439.35 +Checking and money market savings accounts +CHECKING 004579134282 +Account summary +Your previous balance as of 04/04/2022 +$49,321.87 +Checks +- 535.69 +Other withdrawals, debits and service charges +- 544.12 +Deposits, credits and interest ++ 638.09 +Your new balance as of 06/17/2020 += $4,979.78 +Average Posted Balance in Statement Cycle +$48,306.13 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Inc. Credit Union +999-99-99-99 16769 3 C 001 11 S 66002 +DIEGO RAMIREZ +47467 BOBBIE HEIGHTS, REMPELSIDE, KY 14155 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Inc. Credit Union. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +002769719306 +7,993.80 +page 1 +Total checking and money market savings accounts +$7,993.80 +SAVINGS +276971930636 +50,543.36 +page 3 +Total savings accounts +$50,543.36 +Checking and money market savings accounts +CHECKING 002769719306 +Account summary +Your previous balance as of 04/04/2022 +$51,627.22 +Checks +- 744.35 +Other withdrawals, debits and service charges +- 980.13 +Deposits, credits and interest ++ 9,726.74 +Your new balance as of 06/17/2020 += $7,993.80 +Average Posted Balance in Statement Cycle +$60,231.05 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Corp. Credit Union +999-99-99-99 16769 3 C 001 11 S 66002 +EFUA OWUSU +4884 FRIESEN WALK, MCGLYNNVIEW, LA 93437 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Corp. Credit Union. +If +you +are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +003278797390 +9,443.78 +page 1 +Total checking and money market savings accounts +$9,443.78 +SAVINGS +327879739036 +60,798.52 +page 3 +Total savings accounts +$60,798.52 +Checking and money market savings accounts +CHECKING 003278797390 +Account summary +Your previous balance as of 04/04/2022 +$31,240.25 +Checks +577.73 +Other withdrawals, debits and service charges +821.86 +Deposits, credits and interest ++ 5,987.43 +Your new balance as of 06/17/2020 += $9,443.78 +Average Posted Balance in Statement Cycle +$69,158.23 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +AnyCompany LLC. Banking Services +999-99-99-99 16769 3 C 001 11 S 66002 +JANE DOE +565 LUEILWITZ TRAIL, CLAIREBURGH, MN 34022-6071 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 AnyCompany LLC. Banking Services. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +001925408027 +3,624.92 +page 1 +Total checking and money market savings accounts +$3,624.92 +SAVINGS +192540802736 +56,834.06 +page 3 +Total savings accounts +$56,834.06 +Checking and money market savings accounts +CHECKING 001925408027 +Account summary +Your previous balance as of 04/04/2022 +$38,893.29 +Checks +- 1,612.87 +Other withdrawals, debits and service charges +- 751.70 +Deposits, credits and interest ++ 3,974.45 +Your new balance as of 06/17/2020 += $3,624.92 +Average Posted Balance in Statement Cycle +$60,952.65 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +AnyCompany Inc. LLC +999-99-99-99 16769 3 C 001 11 S 66002 +JOHN DOE +87344 ARDELLE ROUTE, NORTH DONNIE, NY 82889-3112 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 AnyCompany Inc. LLC. +If you are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +001086151541 +8,056.62 +page 1 +Total checking and money market savings accounts +$8,056.62 +SAVINGS +108615154136 +56,617.04 +page 3 +Total savings accounts +$56,617.04 +Checking and money market savings accounts +CHECKING 001086151541 +Account summary +Your previous balance as of 04/04/2022 +$42,871.13 +Checks +- 1,950.43 +Other withdrawals, debits and service charges +- 820.44 +Deposits, credits and interest ++ 3,611.27 +Your new balance as of 06/17/2020 += $8,056.62 +Average Posted Balance in Statement Cycle +$46,842.73 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +bank_stmt,"Page 1 of 5 04/04/2022 +DC 1090001004290 +Example Corp. Credit Union +999-99-99-99 16769 3 C 001 11 S 66002 +JOHN STILES +84304 LARSON AVENUE, WEST TRUMAN, ME 66844 +Your consolidated statement +Contact us +For 04/04/2022 +(858) LLL-0101 or +example.com +(858) 555-0101 +Do more with digital banking +Bank without having to leave home. Check your account balances, make transfers, pay bills and deposit checks with your mobile device. If +you are not enrolled in digital banking, it only lakes a minute Gel started today at example.com/U. +Example Bank, Member FDIC. To learn more, visit example.com/ABCXYZ. ©2020 Example Corp. Credit Union. +If +you +are traveling outside of the USA and have concerns about accessing your account while you are traveling, please contact your +Branch Banker or call us at 858-LLL-0101. +Summary of your accounts +ACCOUNT NAME +ACCOUNT NUMBER +BALANCE ($) +DETAILS ON +CHECKING +008338865982 +8,173.92 +page 1 +Total checking and money market savings accounts +$8,173.92 +SAVINGS +833886598236 +52,485.56 +page 3 +Total savings accounts +$52,485.56 +Checking and money market savings accounts +CHECKING 008338865982 +Account summary +Your previous balance as of 04/04/2022 +$42,660.53 +Checks +- 669.75 +Other withdrawals, debits and service charges +927.96 +Deposits, credits and interest ++ 2,193.31 +Your new balance as of 06/17/2020 += $8,173.92 +Average Posted Balance in Statement Cycle +$56,442.25 +Checks +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +DATE +CHECK # +AMOUNT ($) +05/26 +1401 +450.00 +06/05 +*965025 +101.39 +06/09 +985026 +150.00 +* indicates a skip in sequential check numbers above this item +Total checks += $701.39 +Other withdrawals, debits and service charges can be found in full statement +Page 1 of 1 +0000667 +" +hoa,"Date 04/23/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 05/21/2022 +Seller: Albert Boyd +Address of the Property: 1600 Worldwide Blvd, Hebron, KY 41048 +In the following paragraphs, you can see the status of the account as of this +date. +$ 647 dues for the year/month of April are paid/due. +$ 2207 needs to be collected from the buyer for the year/month of April. +$ 285 for HOA transfer fees. +$ 171.24 fees for the clearance letter. +$ +2016.2399999999998 of total due to be paid. +This document is verified by Lana Zhang. +Lana Zhang +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 12/30/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 09/10/2022 +Seller: Hope Lucero +Address of the Property: 710 S. Girls School Rd, Indianapolis, IN 46231 +In the following paragraphs, you can see the status of the account as of this +date. +$ 119 dues for the year/month of April are paid/due. +$ 4855 needs to be collected from the buyer for the year/month of April. +$ 497 for HOA transfer fees. +$ 298.44 fees for the clearance letter. +$ 5531.44 of total due to be paid. +This document is verified by Chin Rane. +Chin Rane +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 10/07/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 08/21/2022 +Seller: Emilie Hendricks +Address of the Property: 550 Oak Ridge Road, Hazleton, PA, 18202 +In the following paragraphs, you can see the status of the account as of this +date. +$ 30 dues for the year/month of April are paid/due. +$ 2449 needs to be collected from the buyer for the year/month of April. +$ 248 for HOA transfer fees. +$ 148.74 fees for the clearance letter. +$ 2815.74 of total due to be paid. +This document is verified by Chin Rane. +Chin Rane +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 06/28/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 12/10/2022 +Seller: Albert Boyd +Address of the Property: 500 Duke DR, Lebanon, TN 37090 +In the following paragraphs, you can see the status of the account as of this +date. +$ 128 dues for the year/month of April are paid/due. +$ 4060 needs to be collected from the buyer for the year/month of April. +$ 419 for HOA transfer fees. +$ 251.28 fees for the clearance letter. +$ 4602.28 of total due to be paid. +This document is verified by Lana Zhang. +Lana Zhang +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 12/15/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 01/16/2022 +Seller: Emilie Hendricks +Address of the Property: Joe B Jackson Pkwy, Murfreesboro, TN 37127 +In the following paragraphs, you can see the status of the account as of this +date. +$ 793 dues for the year/month of April are paid/due. +$ 2494 needs to be collected from the buyer for the year/month of April. +$ 329 for HOA transfer fees. +$ 197.22 fees for the clearance letter. +$ 2227.22 of total due to be paid. +This document is verified by Sonali Sahu. +Sonali Sahu +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 05/02/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 01/21/2022 +Seller: Skylar Faulkner +Address of the Property: 225 Infinity Dr NW, Charleston, TN 37310 +In the following paragraphs, you can see the status of the account as of this +date. +$ 300 dues for the year/month of April are paid/due. +$ 3297 needs to be collected from the buyer for the year/month of April. +$ 360 for HOA transfer fees. +$ 215.82 fees for the clearance letter. +$ 3572.82 of total due to be paid. +This document is verified by Jane Doe. +Jane Doe +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 08/20/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 05/07/2022 +Seller: Albert Boyd +Address of the Property: 715 Airtech Pkwy, Plainfield, IN 46168 +In the following paragraphs, you can see the status of the account as of this +date. +$ 676 dues for the year/month of April are paid/due. +$ 2093 needs to be collected from the buyer for the year/month of April. +$ 277 for HOA transfer fees. +$ 166.14 fees for the clearance letter. +$ 1860.1399999999999 of total due to be paid. +This document is verified by Chin Rane. +Chin Rane +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 10/30/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 01/24/2022 +Seller: Armani Mclean +Address of the Property: 7200 Discovery Drive, Chattanooga TN 37416-1757 +In the following paragraphs, you can see the status of the account as of this +date. +$ 529 dues for the year/month of April are paid/due. +$ 3417 needs to be collected from the buyer for the year/month of April. +$ 395 for HOA transfer fees. +$ 236.76 fees for the clearance letter. +$ 3519.76 of total due to be paid. +This document is verified by Sonali Sahu. +Sonali Sahu +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 06/24/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 05/16/2022 +Seller: Ronan Banks +Address of the Property: 650 Boulder Drive, Breinigsville, PA, 18031 +In the following paragraphs, you can see the status of the account as of this +date. +$ 658 dues for the year/month of April are paid/due. +$ 4588 needs to be collected from the buyer for the year/month of April. +$ 525 for HOA transfer fees. +$ 314.76 fees for the clearance letter. +$ 4769.76 of total due to be paid. +This document is verified by Lana Zhang. +Lana Zhang +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 09/02/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 01/24/2022 +Seller: Alvin Hardy +Address of the Property: 1800 140th Avenue E., Sumner, WA, 98390 +In the following paragraphs, you can see the status of the account as of this +date. +$ 947 dues for the year/month of April are paid/due. +$ 4575 needs to be collected from the buyer for the year/month of April. +$ 552 for HOA transfer fees. +$ 331.32 fees for the clearance letter. +$ 4511.32 of total due to be paid. +This document is verified by Lana Zhang. +Lana Zhang +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 09/17/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 06/08/2022 +Seller: Albert Boyd +Address of the Property: 4400 12 Street Extension, West Columbia, SC 29172 +In the following paragraphs, you can see the status of the account as of this +date. +$ 553 dues for the year/month of April are paid/due. +$ 3076 needs to be collected from the buyer for the year/month of April. +$ 363 for HOA transfer fees. +$ 217.74 fees for the clearance letter. +$ 3103.74 of total due to be paid. +This document is verified by Lana Zhang. +Lana Zhang +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 09/14/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 12/15/2022 +Seller: Skylar Faulkner +Address of the Property: 14840 Central Pike Suite 190, Lebanon, TN 37090 +In the following paragraphs, you can see the status of the account as of this +date. +$ 24 dues for the year/month of April are paid/due. +$ 4800 needs to be collected from the buyer for the year/month of April. +$ 482 for HOA transfer fees. +$ 289.44 fees for the clearance letter. +$ 5547.44 of total due to be paid. +This document is verified by Anjan Biswas. +Anjan Biswas +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 04/26/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 02/08/2022 +Seller: Emilie Hendricks +Address of the Property: 1800 140th Avenue E., Sumner, WA, 98390 +In the following paragraphs, you can see the status of the account as of this +date. +$ 463 dues for the year/month of April are paid/due. +$ 3025 needs to be collected from the buyer for the year/month of April. +$ 349 for HOA transfer fees. +$ 209.28 fees for the clearance letter. +$ 3120.28 of total due to be paid. +This document is verified by Jane Doe. +Jane Doe +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 11/08/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 10/04/2022 +Seller: Ronan Banks +Address of the Property: 715 Airtech Pkwy, Plainfield, IN 46168 +In the following paragraphs, you can see the status of the account as of this +date. +$ 924 dues for the year/month of April are paid/due. +$ 2084 needs to be collected from the buyer for the year/month of April. +$ 301 for HOA transfer fees. +$ 180.48 fees for the clearance letter. +$ 1641.48 of total due to be paid. +This document is verified by Anjan Biswas. +Anjan Biswas +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 07/20/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 06/23/2022 +Seller: Kristen Hodge +Address of the Property: 1800 140th Avenue E., Sumner, WA, 98390 +In the following paragraphs, you can see the status of the account as of this +date. +$ 38 dues for the year/month of April are paid/due. +$ 4908 needs to be collected from the buyer for the year/month of April. +$ 495 for HOA transfer fees. +$ 296.76 fees for the clearance letter. +$ 5661.76 of total due to be paid. +This document is verified by Chin Rane. +Chin Rane +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 05/29/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 01/03/2022 +Seller: Alvin Hardy +Address of the Property: 410 Terry Ave N, Seattle 98109, WA +In the following paragraphs, you can see the status of the account as of this +date. +$ 532 dues for the year/month of April are paid/due. +$ 2026 needs to be collected from the buyer for the year/month of April. +$ 256 for HOA transfer fees. +$ 153.48 fees for the clearance letter. +$ 1903.48 of total due to be paid. +This document is verified by Anjan Biswas. +Anjan Biswas +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 01/30/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 03/21/2022 +Seller: Johnny Vazquez +Address of the Property: 7200 Discovery Drive, Chattanooga TN 37416-1757 +In the following paragraphs, you can see the status of the account as of this +date. +$ 876 dues for the year/month of April are paid/due. +$ 2152 needs to be collected from the buyer for the year/month of April. +$ 303 for HOA transfer fees. +$ 181.68 fees for the clearance letter. +$ +1760.6799999999998 of total due to be paid. +This document is verified by Sonali Sahu. +Sonali Sahu +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 06/12/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 11/01/2022 +Seller: Emilie Hendricks +Address of the Property: 1800 140th Avenue E., Sumner, WA, 98390 +In the following paragraphs, you can see the status of the account as of this +date. +$ 565 dues for the year/month of April are paid/due. +$ 2107 needs to be collected from the buyer for the year/month of April. +$ 267 for HOA transfer fees. +$ 160.32 fees for the clearance letter. +$ 1969.3200000000002 of total due to be paid. +This document is verified by Lana Zhang. +Lana Zhang +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 03/20/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 10/30/2022 +Seller: Armani Mclean +Address of the Property: 7200 Discovery Drive, Chattanooga TN 37416-1757 +In the following paragraphs, you can see the status of the account as of this +date. +$ 205 dues for the year/month of April are paid/due. +$ 4238 needs to be collected from the buyer for the year/month of April. +$ 444 for HOA transfer fees. +$ 266.58 fees for the clearance letter. +$ 4743.58 of total due to be paid. +This document is verified by Jane Doe. +Jane Doe +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 02/20/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 09/25/2022 +Seller: Alonso Weiss +Address of the Property: 3680 Langley Dr., Hebron, KY 41048 +In the following paragraphs, you can see the status of the account as of this +date. +$ 703 dues for the year/month of April are paid/due. +$ 3399 needs to be collected from the buyer for the year/month of April. +$ 410 for HOA transfer fees. +$ 246.12 fees for the clearance letter. +$ 3352.12 of total due to be paid. +This document is verified by Anjan Biswas. +Anjan Biswas +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 09/17/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 01/11/2022 +Seller: Alonso Weiss +Address of the Property: 4255 Anson Blvd, Whitestown, IN 46075 +In the following paragraphs, you can see the status of the account as of this +date. +$ 904 dues for the year/month of April are paid/due. +$ 3670 needs to be collected from the buyer for the year/month of April. +$ 457 for HOA transfer fees. +$ 274.44 fees for the clearance letter. +$ 3497.4399999999996 of total due to be paid. +This document is verified by Anjan Biswas. +Anjan Biswas +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 09/22/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 02/17/2022 +Seller: Jaelynn Valentine +Address of the Property: 3680 Langley Dr., Hebron, KY 41048 +In the following paragraphs, you can see the status of the account as of this +date. +$ 929 dues for the year/month of April are paid/due. +$ 4175 needs to be collected from the buyer for the year/month of April. +$ 510 for HOA transfer fees. +$ 306.24 fees for the clearance letter. +$ 4062.24 of total due to be paid. +This document is verified by Anjan Biswas. +Anjan Biswas +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 08/27/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 03/05/2022 +Seller: Johnny Vazquez +Address of the Property: 705 Boulder Drive, Breinigsville, PA, 18031 +In the following paragraphs, you can see the status of the account as of this +date. +$ 718 dues for the year/month of April are paid/due. +$ 3725 needs to be collected from the buyer for the year/month of April. +$ 444 for HOA transfer fees. +$ 266.58 fees for the clearance letter. +$ 3717.58 of total due to be paid. +This document is verified by Sonali Sahu. +Sonali Sahu +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 07/17/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 08/06/2022 +Seller: Alvin Hardy +Address of the Property: 1800 140th Avenue E., Sumner, WA, 98390 +In the following paragraphs, you can see the status of the account as of this +date. +$ 187 dues for the year/month of April are paid/due. +$ 3036 needs to be collected from the buyer for the year/month of April. +$ 322 for HOA transfer fees. +$ 193.38 fees for the clearance letter. +$ 3364.38 of total due to be paid. +This document is verified by Anjan Biswas. +Anjan Biswas +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 04/06/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 07/18/2022 +Seller: Kristen Hodge +Address of the Property: 3680 Langley Dr., Hebron, KY 41048 +In the following paragraphs, you can see the status of the account as of this +date. +$ 590 dues for the year/month of April are paid/due. +$ 3919 needs to be collected from the buyer for the year/month of April. +$ 451 for HOA transfer fees. +$ 270.54 fees for the clearance letter. +$ 4050.54 of total due to be paid. +This document is verified by Chin Rane. +Chin Rane +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 06/16/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 05/28/2022 +Seller: Albert Boyd +Address of the Property: 715 Airtech Pkwy, Plainfield, IN 46168 +In the following paragraphs, you can see the status of the account as of this +date. +$ 249 dues for the year/month of April are paid/due. +$ 2525 needs to be collected from the buyer for the year/month of April. +$ 277 for HOA transfer fees. +$ 166.44 fees for the clearance letter. +$ 2719.44 of total due to be paid. +This document is verified by Anjan Biswas. +Anjan Biswas +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 01/07/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 06/06/2022 +Seller: Alvin Hardy +Address of the Property: 715 Airtech Pkwy, Plainfield, IN 46168 +In the following paragraphs, you can see the status of the account as of this +date. +$ 696 dues for the year/month of April are paid/due. +$ 2197 needs to be collected from the buyer for the year/month of April. +$ 289 for HOA transfer fees. +$ 173.58 fees for the clearance letter. +$ 1963.58 of total due to be paid. +This document is verified by Lana Zhang. +Lana Zhang +Signature +Manager, AnyCompany Homeowners Association +" +hoa,"Date 12/09/2022 +AnyCompany Homeowners Association +1212 Fictional Blvd. +AnyTown, ZZ, 10101 +To Alejandro Rosalez, +Closing Date: 08/30/2022 +Seller: Kristen Hodge +Address of the Property: 410 Terry Ave N, Seattle 98109, WA +In the following paragraphs, you can see the status of the account as of this +date. +$ 991 dues for the year/month of April are paid/due. +$ 4473 needs to be collected from the buyer for the year/month of April. +$ 546 for HOA transfer fees. +$ 327.84 fees for the clearance letter. +$ 4355.84 of total due to be paid. +This document is verified by Jane Doe. +Jane Doe +Signature +Manager, AnyCompany Homeowners Association +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +West Stacie +State +VA +2647 Gerhold Tunnel, Hermistonberg, NV 39687-3934 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +375,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Diego Ramirez +(Seal) +- Borrower +Paulo Santos +(Seal) +- Borrower +Saanvi Sarkar +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +Gusikowskiborough +State +NJ +930 Andree Grove, Port Marianneberg, MI 31397 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +375,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Liu Die +(Seal) +- Borrower +Kwaku Mensah +(Seal) +- Borrower +Shirley Rodriguez +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +North Patricialand +State +MS +78004 Robel Groves, West Emilie, NJ 88689 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +450,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Diego Ramirez +(Seal) +- Borrower +Kwesi Manu +(Seal) +- Borrower +Akna Mansa +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +South Vernonhaven +State +NJ +78004 Robel Groves, West Emilie, NJ 88689 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +550,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Wang Xiulan +(Seal) +- Borrower +Alejandro Rosalez +(Seal) +- Borrower +Diego Ramirez +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date 04/04/2022 +City +New Shellie +State +TX +80403 Swift Fork, Lindgrentown, IA 92588-8565 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +450,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Maria Garcia +(Seal) +- Borrower +Wang Xiulan +(Seal) +- Borrower +lindie +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date 04/04/2022 +City +Mervinborough +State +CO +2990 Ferry Corners, Uptonland, IA 36146-4072 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +385,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Akna Mansa +(Seal) +- Borrower +Arnav Desai +(Seal) +- Borrower +Saanvi Sarkar +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +Riceland +State +MO +700 Corwin Lights, Heathstad, NE 69146 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +375,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Arnau Desai +(Seal) +- Borrower +Akua Mansa +(Seal) +- Borrower +lindie +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +East Moira +State +IA +62960 Bernice Lake, Tadview, AK 77406 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +385,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Sofia Martinez +(Seal) +- Borrower +Wang Xiulan +(Seal) +- Borrower +Efua Ownsh +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +Port Benjamin +State +CA +610 Margarite Drive, Marquardtville, OR 42160 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +550,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Mary major +(Seal) +- Borrower +Kwaku Mensah +(Seal) +- Borrower +Sofia Martinez +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +New Parthenia +State +DE +29205 Leroy Trail, New Corenemouth, NJ 38476 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +385,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Kwaku Mensah +(Seal) +- Borrower +Sofía Martínez +(Seal) +- Borrower +Jarge Sanza +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +Barneyborough +State +ME +20636 Sandi Harbor, North Mervinstad, MT 50849-7808 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +555,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Akna Mansa +(Seal) +- Borrower +John Stiles +(Seal) +- Borrower +Jarge Sanza +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +Runolfsdottirside +State +NC +1126 Toy Neck, Pinkieshire, MO 49179 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +555,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Richard Roe +(Seal) +- Borrower +Efua Owusu +(Seal) +- Borrower +John Stiles +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date 04/04/2022 +City +West Reginaldborough +State +CO +8745 Carmen Row, North Apryl, NH 36076-2624 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +550,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Jorge Souza +(Seal) +- Borrower +Li Juan +(Seal) +- Borrower +Shirley Rodriguez +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +Horaciobury +State +OR +900 Clarinda Rapids, Port Reggie, WV 88691-6505 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +450,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Mateo Jackson +(Seal) +- Borrower +Kwesi Manu +(Seal) +- Borrower +Mary Major +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +East Palmer +State +NE +1261 Gerhold Viaduct, Nganfort, MS 34407-5333 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +375,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Kwesi Manu +(Seal) +- Borrower +John Doe +(Seal) +- Borrower +Mateo Jackson +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +Luciusfurt +State +ME +610 Margarite Drive, Marquardtville, OR 42160 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +375,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Wang Xiulan +(Seal) +- Borrower +Alejandro Rosalez +(Seal) +- Borrower +Marcia Oliveira +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +East Casey +State +LA +2647 Gerhold Tunnel, Hermistonberg, NV 39687-3934 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +375,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Liu Die +(Seal) +- Borrower +Richard Roe +(Seal) +- Borrower +Maria Garcia +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +West Herta +State +IA +36998 Randall Flat, North Lorie, NH 81945-3509 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +385,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Arnau Desai +(Seal) +- Borrower +Akua Mansa +(Seal) +- Borrower +livuan +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +East Prestonville +State +RI +84080 Larson Loop, West Mikel, OK 25440 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +550,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Arnau Desai +(Seal) +- Borrower +John Stiles +(Seal) +- Borrower +Nikeki Wall +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +East Changview +State +AZ +7836 Johnson Place, Franklinhaven, LA 11907 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +450,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Arnau Desai +(Seal) +- Borrower +Saanvi Sarkar +(Seal) +- Borrower +Mary Major +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date 04/04/2022 +City +Lake Noestad +State +IL +2990 Ferry Corners, Uptonland, IA 36146-4072 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +375,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +John Stiles +(Seal) +- Borrower +Kwaku Mensah +(Seal) +- Borrower +Zhang Wei +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date 04/04/2022 +City +Katricefurt +State +PA +8745 Carmen Row, North Apryl, NH 36076-2624 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +385,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Kwaku Mensah +(Seal) +- Borrower +Diego Ramirez +(Seal) +- Borrower +livnan +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date 04/04/2022 +City +Schneidermouth +State +AZ +2990 Ferry Corners, Uptonland, IA 36146-4072 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +385,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Akna Mansa +(Seal) +- Borrower +Mateo Jackson +(Seal) +- Borrower +Nikhil Jayashankar +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +Rempelside +State +KY +29205 Leroy Trail, New Corenemouth, NJ 38476 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +555,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Arnau Desai +(Seal) +- Borrower +Jane Doe +(Seal) +- Borrower +livnan +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +McGlynnview +State +LA +29205 Leroy Trail, New Corenemouth, NJ 38476 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +450,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Ana Carolina Silva +(Seal) +- Borrower +Carlos Salazar +(Seal) +- Borrower +Shirley Rodriguez +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +Claireburgh +State +MN +305 Mraz Way, Frankieside, WA 46764 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +555,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Alejandra Rosalez +(Seal) +- Borrower +Saanvi Sarkar +(Seal) +- Borrower +lindie +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +North Donnie +State +NY +7836 Johnson Place, Franklinhaven, LA 11907 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +450,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Diego Ramirez +(Seal) +- Borrower +Sofía Martínez +(Seal) +- Borrower +lindie +(Seal) +- Borrower +[Sign Original Only] +" +mtg_note,"MORTGAGE NOTE +Date +04/04/2022 +City +West Truman +State +ME +900 Clarinda Rapids, Port Reggie, WV 88691-6505 +Property Address +1. BORROWER'S PROMISE TO PAY +In return for a loan that I have received, I promise to pay U.S. $ +450,000.00 +(this +amount is called ""Principal""), plus interest, to the order of the Lender. The Lender is AnyCompany +Mortage Servicing LLC. I will make all payments under this Note in the form of cash, check or +money order. I understand that the Lender may transfer this Note. The Lender or anyone who +takes this Note by transfer and who is entitled to receive payments under this Note is called the +""Note Holder.' +2. INTEREST +Interest will be charged on unpaid principal until the full amount of Principal has been paid. I will +pay interest at a yearly rate of 2.87%. +The interest rate required by this Section 2 is the rate I will pay both before and after any default +described in Section 6(B) of this Note. +3. PAYMENTS +(A) Time and Place of Payments +I +will pay principal and interest by making a payment every month. I will make my monthly +payment on the 4th day of each month beginning on March 23rd 2020. I will make these payments +every month until I have paid all of the principal and interest and any other charges described +below that I may owe under this Note. Each monthly payment will be applied as of its scheduled +due date and will be applied to interest before Principal. If, on April 23rd, 2050, I still owe +amounts under this Note, I will pay those amounts in full on that date, which is called the +""Maturity Date."" I will make my monthly payments at or at a different place if required by the +Note Holder. +(B) Amount of Monthly Payments +My monthly payment will be in the amount of U.S. $2,721.23. +4. BORROWER'S RIGHT TO PREPAY +I +have the right to make payments of Principal at any time before they are due. A payment of +Principal only is known as a ""Prepayment.' When I make a Prepayment, I will tell the Note Holder +in writing that I am doing so. I may not designate a payment as a Prepayment if I have not made +all the monthly payments due under the Note. I may make a full Prepayment or partial +Prepayments without paying a Prepayment charge. The Note Holder will use my Prepayments to +reduce the amount of Principal that I owe under this Note. However, the Note Holder may apply +my Prepayment to the accrued and unpaid interest on the Prepayment amount, before applying +my Prepayment to reduce the Principal amount of the Note. If I make a partial Prepayment, +there will be no changes in the due date or in the amount of my monthly payment unless the +Note Holder agrees in writing to those changes. +5. LOAN CHARGES +If a law, which applies to this loan and which sets maximum loan charges, is finally interpreted so +that the interest or other loan charges collected or to be collected in connection with this loan +exceed the permitted limits, then: (a) any such loan charge shall be reduced by the amount +necessary to reduce the charge to the permitted limit; and (b) any sums already collected from me +which exceeded permitted limits will be refunded to me. +6. BORROWER'S FAILURE TO PAY AS REQUIRED(A) Late Charge for Overdue Payments +If the Note Holder has not received the full amount of any monthly payment by the end of +15 calendar days after the date it is due, I will pay a late charge to the Note Holder. The amount of +the charge will be 5% of my overdue payment of principal and interest. I will pay this late charge +promptly but only once on each late payment. +(B) Default +If I do not pay the full amount of each monthly payment on the date it is due, I will be in default. +(C) Notice of Default +If I am in default, the Note Holder may send me a written notice telling me that if I do not pay the +overdue amount by a certain date, the Note Holder may require me to pay immediately the full +amount of Principal which has not been paid and all the interest that I owe on that amount. That +date must be at least 30 days after the date on which the notice is mailed to me or delivered by +other means. +(D) No Waiver By Note Holder +Even if, at a time when I am in default, the Note Holder does not require me to pay immediately in +full as described above, the Note Holder will still have the right to do so if I am in default at a later +time. +(E) Payment of Note Holder's Costs and Expenses +If the Note Holder has required me to pay immediately in full as described above, the Note +Holder will have the right to be paid back by me for all of its costs and expenses in enforcing this +Note to the extent not prohibited by applicable law. Those expenses include, for example, +reasonable attorneys' fees. +7. GIVING OF NOTICES +Unless applicable law requires a different method, any notice that must be given to me under this +Note will be given by delivering it or by mailing it by first class mail to me at the Property Address +above or at a different address if I give the Note Holder a notice of my different address. Any +notice that must be given to the Note Holder under this Note will be given by delivering it or by +mailing it by first class mail to the Note Holder at the address stated in Section 3(A) above or at a +different address if I am given a notice of that different address. +8. OBLIGATIONS OF PERSONS UNDER THIS NOTE +If more than one person signs this Note, each person is fully and personally obligated to keep all of +the promises made in this Note, including the promise to pay the full amount owed. Any person +who is a guarantor, surety or endorser of this Note is also obligated to do these things. Any person +who takes over these obligations, including the obligations of a guarantor, surety or endorser of +this Note, is also obligated to keep all of the promises made in this Note. The Note Holder may +enforce its rights under this Note against each person individually or against all of us together. +This means that any one of us may be required to pay all of the amounts owed under this Note. +9. WAIVERS +I and any other person who has obligations under this Note waive the rights of Presentment and +Notice of Dishonor. +""Presentment"" means the right to require the Note Holder to demand payment of amounts due. +""Notice of Dishonor"" means the right to require the Note Holder to give notice to other persons +that amounts due have not been paid. +10. UNIFORM SECURED NOTE +This Note is a uniform instrument with limited variations in some jurisdictions. In addition to the +protections given to the Note Holder under this Note, a Mortgage, Deed of Trust, or Security Deed +(the ""Security Instrument""), dated the same date as this Note, protects the Note Holder from +possible losses which might result if I do not keep the promises which I make in this Note. That +Security Instrument describes how and under what conditions I may be required to make +immediate payment in full of all amounts I owe under this Note. Some of those conditions are +described as follows: +If all or any part of the Property or any Interest in the Property is sold or transferred (or if +Borrower is not a natural person and a beneficial interest in Borrower is sold or +transferred) without Lender's prior written consent, Lender may require immediate +payment in full of all sums secured by this Security Instrument. However, this option shall +not be exercised by Lender if such exercise is prohibited by Applicable Law. +If Lender exercises this option, Lender shall give Borrower notice of acceleration. The +notice shall provide a period of not less than 30 days from the date the notice is given in +accordance with Section 15 within which Borrower must pay all sums secured by this +Security Instrument. If Borrower fails to pay these sums prior to the expiration of this +period, Lender may invoke any remedies permitted by this Security Instrument without +further notice or demand on Borrow. +WITNESS THE HAND(S) AND SEAL(S) OF THE UNDERSIGNED +Carlos Salazar +(Seal) +- Borrower +Mary Major +(Seal) +- Borrower +John Stiles +(Seal) +- Borrower +[Sign Original Only] +" +passports,"PASSPORT +UNITED STATES OF AMERICA +PASSEPORT +Type/Type/Tipo Code/Code/Codigo Passport No./No.du Passeport / No. de Passporte +PASSPORTE +P +USA +359412384 +Surname / Nom / Appelidos +USA +Akua +Given Names / Prénoms / Nombres +Mansa +Nationality/Nationalité / Nacionalidad +UNITED STATES OF AMERICA +Date of birth / Date de naissance / Fecha de nacimiento +14 Sep 1995 +Place of birth / Lieu de naissance / Lugar de nacimiento +Sex / Sexe/Sexo +Utah, U.S.A. +F +Date of issue / Date de délivrance / Fecha de expedición +Authority/AutoritélAutoridad +18 Aug 2004 +IND +United States +Date of expiration / Date d' 'expiration / Fecha de caducidad +28 Jan 2028 +Department of State +Endorsements/ Mentions Speciales / Anotaciones +SEE PAGE 27 +P